ORamaVR Cloud

ORamaVR's hosted backend: identity at login.oramavr.com, AI agent platform at api.oramavr.com, content portal at portal.oramavr.com, and analytics at analytics.api.oramavr.com.

Component View: ORamaVR Cloud - ORamaVR PortalDetailed login and product authorization from the Portal OIDC session through token issuance, role and tenant claims, feature grants, and SDK user or tenant license checks.ORamaVR Cloud[Software System]Login API[Container: C# / ASP.NET Core]ORamaVR Portal[Container: Angular / TypeScript — AnalyticsClient/src/app]SDK License API[Component: C#  LicenseController] Authenticated endpoints for licensequeries, grants, assignments,checkouts, updates, and removals.Product Catalogue API[Component: C#  ProductsController] Product catalogue, versions, tenantand user product links, and licenseinventory endpoints.Tenant Administration API[Component: C#  TenantsController] Tenant hierarchy, members, featuregrants, and tenant lifecycleendpoints.User Administration API[Component: C#  UsersController] Current-user, account, role, tenant,and user-management endpoints.OIDC & OAuth AuthorizationServer[Component: C#  IdentityServer4 + Startup/Config] Authorization-code with PKCE,refresh, client credentials, andexternal token-exchange flows forPortal and SDK clients.Interactive Account Sign-in[Component: C#  AccountController +ExternalController + ASP.NET Identity] Username/password andexternal-provider login, accountconfirmation, lockout, cookies, andauthorization redirects.External Token Exchange[Component: C#  CustomGrantValidator] Validates an external identity token,resolves the local user, and requiresacceptance of the licenseagreement.Token Claims & Profile[Component: C#  ProfileService] Loads the active user and emitsidentity, role, and tenant claims intoID and access tokens.License Grants & Assignments[Component: C#  LicenseService] Checks product access and managesSDK license grants, seats,assignments, and checkout lifecycle.Product & AccessManagement[Component: C#  ProductService] Manages products, versions, tenantand user product access, downloads,and license inventory.Tenant & FeatureManagement[Component: C#  TenantService] Manages tenants, sub-tenants,members, and feature grants.User & Invitation Management[Component: C#  UserService +UserInvitationService] Manages users, roles, tenantmembership, invitations, andaccepted license agreements.Identity & License Persistence[Component: EF Core  ApplicationDbContext] Stores users, tenants, products,license grants, license assignments,feature grants, and invitations.OIDC Session Client[Component: TypeScript  AuthService +angular-auth-oidc-client] Starts the authorization-code withPKCE flow and managesauthentication state, user claims,access tokens, renewal, and logout.Route, Role & Feature Guard[Component: TypeScript  AuthorizationGuard] Requires an authenticated session,validates role claims, loads thecurrent user, and checks tenantfeature grants.Bearer Token Interceptor[Component: TypeScript  AuthInterceptor] Attaches the current access token toprotected API requests and logs outon 401 or 403 responses.SDK Product Access Evaluator[Component: TypeScript  SdkProAccessService] Allows protected SDK features wheneither the user or tenant has acurrent premium SDK license.SDKLicenseAPI → LicenseGrantsAssignments — Queries and manages licensesQueries and manages licensesProductCatalogueAPI → ProductAccessManagement — Manages products and product accessManages products and product accessTenantAdministrationAPI → TenantFeatureManagement — Manages tenants and feature grantsManages tenants and feature grantsUserAdministrationAPI → UserInvitationManagement — Manages users, roles, and membershipManages users, roles, and membershipOIDCOAuthAuthorizationServer → InteractiveAccountSignin — Redirects browser authenticationRedirects browser authenticationOIDCOAuthAuthorizationServer → ExternalTokenExchange — Validates external token exchange grantsValidates external token exchange grantsOIDCOAuthAuthorizationServer → TokenClaimsProfile — Builds identity and access-token claimsBuilds identity and access-token claimsInteractiveAccountSignin → IdentityLicensePersistence — Validates users and sign-in stateValidates users and sign-in stateExternalTokenExchange → IdentityLicensePersistence — Resolves external identities and agreement acceptanceResolves external identities and agreement acceptanceTokenClaimsProfile → IdentityLicensePersistence — Loads users, roles, and tenant contextLoads users, roles, and tenant contextProductAccessManagement → LicenseGrantsAssignments — Coordinates product license operationsCoordinates product license operationsTenantFeatureManagement → ProductAccessManagement — Resolves tenant product accessResolves tenant product accessUserInvitationManagement → ProductAccessManagement — Resolves user product accessResolves user product accessUserInvitationManagement → LicenseGrantsAssignments — Coordinates user license operationsCoordinates user license operationsLicenseGrantsAssignments → IdentityLicensePersistence — Reads and writes grants and assignmentsReads and writes grants and assignmentsProductAccessManagement → IdentityLicensePersistence — Reads and writes products and accessReads and writes products and accessTenantFeatureManagement → IdentityLicensePersistence — Reads and writes tenants and featuresReads and writes tenants and featuresUserInvitationManagement → IdentityLicensePersistence — Reads and writes users and invitationsReads and writes users and invitationsRouteRoleFeatureGuard → OIDCSessionClient — Checks authentication, claims, and current userChecks authentication, claims, and current userRouteRoleFeatureGuard → BearerTokenInterceptor — Sends authenticated authorization checksSends authenticated authorization checksRouteRoleFeatureGuard → SDKProductAccessEvaluator — Requires SDK product access where configuredRequires SDK product access where configuredSDKProductAccessEvaluator → BearerTokenInterceptor — Sends authenticated product checksSends authenticated product checksBearerTokenInterceptor → OIDCSessionClient — Reads the current access tokenReads the current access tokenOIDCSessionClient → OIDCOAuthAuthorizationServer — Authorization code with PKCE, token renewal, and logout [OIDC / OAuth 2.0]Authorization code with PKCE, token renewal, and logout[OIDC / OAuth 2.0]OIDCSessionClient → UserAdministrationAPI — Loads the current user and tenant context [HTTPS / JSON]Loads the current user and tenant context[HTTPS / JSON]RouteRoleFeatureGuard → TenantAdministrationAPI — Checks tenant feature grants for protected routes [HTTPS / JSON]Checks tenant feature grants for protected routes[HTTPS / JSON]SDKProductAccessEvaluator → SDKLicenseAPI — Checks the authenticated user's SDK license type [HTTPS / JSON]Checks the authenticated user's SDK license type[HTTPS / JSON]SDKProductAccessEvaluator → ProductCatalogueAPI — Checks the tenant's current SDK product licenses [HTTPS / JSON]Checks the tenant's current SDK product licenses[HTTPS / JSON]
Component View: ORamaVR Cloud - ORamaVR Portal
Detailed login and product authorization from the Portal OIDC session through token issuance, role and tenant claims, feature grants, and SDK user or tenant license checks.
LegendCore moduleRelationship