Namespace VpnHood.AppLib.Portal
Classes
- PortalAccountProvider
Account facade over the Portal API. One read (GET /account) answers the whole account — identity, THE one access code serving it and the store subscription behind it — because the portal ranks and chooses server-side; no device walks a list, and no backend id is ever on the wire.
- PortalAuthenticationProvider
Signs in against the Portal API (POST /auth/sessions with a provider id token) and holds the opaque session token, persisted like the Store package's api key. It hands that token out on request; attaching it to a call is the caller's business, so nothing here owns a client anyone else uses.
- PortalWebBillingProvider
The web-distribution channel's billing provider: the portal IS the store. Plans and prices come from GET /billing/plans — the rows the checkout bills, priced in the portal's default currency, which each checkout URL names. Each plan carries its checkout page (CheckoutUrl), which the UI opens as it opens any link — on a TV, as a QR code for the phone — so nothing is bought in the app: delivery arrives through the signed-in account like every web purchase.