User Authentication
Trader Core provides support for authenticating via multiple configured authentication schemes.
Local Auth Flow
External Auth Flow
Resources
Local Auth Web Sequence
title Trader.Core (TC) Local Auth Sign In
User->WebApp: Username/Password
WebApp->TC API: /signin
TC API->Table UserIdentity: Create Entry
TC API->WebApp: Local Auth Token (containing email claim)
WebApp->WebApp: Store Token in Local Storage
note right of WebApp: Token available for subsequent API calls
WebApp->TC API: Call an API with Token (such as /Diagnostics)
TC API->TC API: Validate Token
TC API->Table UserIdentityLogins: Create entry if non existent
TC API->TC Auth Context: Initialize Auth Context
TC Auth Context->Table UserIdentity: Retrieve User Identity
TC Auth Context->TC API: Set UserIdentity in context
note left of TC API: Omitted further API calls
External Auth Web Sequence
title Trader.Core (TC) External Auth Sign In
WebApp->ExternalIdentity: Request User to Login
ExternalIdentity->ExternalIdentity: Sign In User
ExternalIdentity->WebApp: Return Token
WebApp->TC API: Call /auth with token
note left of TC API: /auth Must be called at least once for External Auth
TC API->TC API: Validate Token
TC API->Table UserIdentityLogins: Create entry if non existent
TC API->TC Auth Context: Initialize Auth Context
TC Auth Context->Table UserIdentity: Retrieve User Identity
TC Auth Context->TC API: Set UserIdentity in context
note left of TC API: Omitted further API calls