Token-Based Authentication
- is a method that allows users to enter their username and password in order to obtain a token that allows them to make a specific request - without using their username and password. Once their token has been obtained, the user can offer the token - which offers access to a specific resource for a time period - to the remote site
Authentication/Authorization/Delegation Entities
Click here to expand...
Link to originalauthentication/authorization/delegation entities/actors:
Entity/Actor
Description
- Resource Owner (RO)
- End-User
- Principal
the entity that is in control of the data exposed by the API, typically an end-user
- Client
- Relying-Party (RP)
the mobile app, website, etc. that wants to access data on behalf of the Resource Owner
- Authorization/OAuth Server/Service (AS)
- Identity-Provider (IdP)
- OpenID Provider
- a combination or sometimes a separation of:
- Authentication Server - deals with authenticating the End-User
- Security Token Service (STS) or Token Endpoint - issues tokens (e.g. Access Tokens, Refresh Tokens, ID Tokens)
- Resource/UserInfo Server/Provider (RS)
- Service-Provider (SP)
the service/application/resource:
- that exposes the protected resource/API and requires authentication/authorization of any principal wishing to access it
- agrees to trust the Identity-Provider to authenticateClient
NOTE: This 1 of many Grant Flows (above portrays Implicit Flow of OAuth & OpenID Connect)
Token Classes
Link to originalrefer to Actors
Authentication/Authorization Token intended for the Application Client to be able to access other token(s) from the Security Token Service (STS). tokens such as:
- Access Token
- Refresh Token
- ID Token
Token Class
Description
- intended for the Application Client to make secured API calls to the Resource Holder (on behalf of Resource Owner)
- like a session
- a type of “by-reference/opaque token”
- intended for the Application Client to obtain a new Access Token from the Security Token Service (STS)
- like a password
- a type of “by-reference/opaque token”
- intended for the Application Client to know about the Resource Owner
- introduced in OpenID Connect (OIDC)
- a type of “by-value token”, unlike Access Tokens and Refresh Tokens that are opaque to the client, ID Tokens contains information about the resource owner for the client
Access Token - Pass Types
|
Access Token Pass Types |
Description |
Example Implementation |
|---|---|---|
|
Pass-By-Reference |
|
|
|
Pass-By-Value |
|
Access Token - Profile Types
- Holder of Key (HoK) Tokens - like a credit card, ensures that the Client presenting the token is the one it was issued to
- Bearer Tokens - like cash, do not ensure whether the Client presenting the token was actually issued it
Access Token - Types
|
Token Type |
Description |
|---|---|
| |
|
WS-Security Tokens (esp SAML Tokens) | |
|
Legacy Tokens |
|
|
OAuth Access Tokens |
|
|
