...
Authentication Service In Kubernetes
...
Expand | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||
|
Authentication Flows for Frontend Applications
...
User-centric web-based front-ends of an Enterprise MAM Solution use the OIDC implicit flowto authenticate:
...
Expand | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||
|
Authorization Code Flow
EditMate and some administrative user interfaces use the authorization code flow:
...
Expand | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||
|
Client Credentials Flow
Backend applications use the OIDC client credentials flow to obtain a token for accessing other backend services:
...
Expand | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||
|
User And Group Syncing
This diagram shows how users & groups are fetched from the configured identity provider and where they are stored:
...
Expand | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||
|
Endpoints
AuthService currently exposes the following endpoints for authentication purposes:
Endpoint | Description | ||
---|---|---|---|
Discovery Endpoint | The discovery endpoint can be used to retrieve metadata about your IdentityServer - it returns information like the issuer name, key material, supported scopes etc. Example
| ||
Authorize Endpoint | The authorize endpoint can be used to request tokens or authorization codes via the browser. This process typically involves authentication of the end-user and optionally consent. | ||
Token Endpoint | The token endpoint can be used to programmatically request tokens. It supports the Furthermore the token endpoint can also be extended to support other extension grant types. | ||
Userinfo Endpoint | The userInfo endpoint can be used to retrieve identity information about a user. The caller needs to send a valid access token representing the user. Depending on the granted scopes, the UserInfo endpoint will return the mapped claims (at least the openid scope is required). | ||
End Session Endpoint | The end session endpoint can be used to trigger single sign-out. To use the end session endpoint a client application will redirect the user’s browser to the end session URL. All applications that the user has logged into via the browser during the user’s session can participate in the sign-out. | ||
Check Session Endpoint | After signing in a user with OpenID Connect the client application may need to periodically check if the user is still logged in with the OpenID provider. Core OpenID Connect enables clients to silently check for that, by repeating the original OpenID authentication request with the optional | ||
Revocation Endpoint | The revocation endpoint allows revoking access tokens (reference tokens only) and refresh token. It implements the token revocation specification (RFC 7009). | ||
Introspection Endpoint | The introspection endpoint is an implementation of RFC 7662. It can be used to validate reference tokens (or JWTs if the consumer does not have support for appropriate JWT or cryptographic libraries). The introspection endpoint requires authentication - since the client of an introspection endpoint is an API, you configure the secret on the | ||
Device Authorization Endpoint | The device authorization endpoint can be used to request device and user codes. This endpoint is used to start the device flow authorization process. |
Tokens
Since AuthService is OIDC compliant, it issues and manages the following tokens for various purposes as described below:
Tokens | Description | |||||
---|---|---|---|---|---|---|
Identity Token | The ID Token, which also known as Identity Token, Security Tokens, Authentication Tokens or even Software Tokens, is a security token that contains claims about the Authentication of an End-User by an Authorization Server when using a Client, and potentially other requested Claims. The ID Token is represented as a JSON Web Token (JWT). This means that:
ID Tokens MUST be signed using JWS and optionally both signed and then encrypted using JWS and JWE respectively on the OpenId Provider (OP), thereby providing authentication, integrity, non-repudiation, and optionally, confidentiality. Example
| |||||
Access Token | An access token is a credential that can be used by an application to access an API. Access Tokens can be either an opaque string or a JSON web token. They inform the API that the bearer of the token has been authorized to access the API and perform specific actions specified by the scope that has been granted. Access Tokens should be used as a Bearer credential and transmitted in an HTTP AuthorizationHeader to the API. A bearer token means that the bearer can access authorized resources without further identification. Example
| |||||
Refresh Token | Since access tokens have finite lifetimes, refresh tokens allow requesting new access tokens without user interaction. Refresh tokens are supported for the following flows: authorization code, hybrid and resource owner password credential flow. The clients needs to be explicitly authorized to request refresh tokens by setting There are currently 2 lifetime settings for the Refresh Token
|
Examples
The following examples indicates how Vidispine applications interact with the AuthService to obtain and use its token for validating and accessing the APIs using the OpenConnectId.
...