This API should be called by the implementation of a token endpoint to generate the ID token and token response that comply with OpenID Connect Native SSO for Mobile Apps 1.0 (Native SSO) when Authlete’s /auth/token response indicates action = NATIVE_SSO (after you validate the session id and verify or generate the device secret as required by the flow). The token endpoint implementation should retrieve the value of action from the response and take the following steps according to the value.
Full description
OK, it indicates that the /nativesso API processing has successfully completed.
In this case, the token endpoint implementation should return a successful response (200 OK) to
the client. The value of the responseContent property in the /nativesso API response can be used
directly as the message body of the token response. Therefore, the success response can be constructed
as follows:INTERNAL_SERVER_ERROR, it indicates that something has gone wrong on the Authlete
side. For example, an issue such as a database error might have occurred when retrieving the access
token specified by the accessToken parameter from the database.In such cases, the token endpoint implementation should return an error response to the client.
The simplest implementation would be to return a 500 Internal Server Error.500 error.CALLER_ERROR, it indicates that the issue lies with the caller of the API
(i.e., the implementation of the OpenID Provider). For example, this could be due to missing a
required parameter such as accessToken.If CALLER_ERROR is returned, please review the implementation of your OpenID Provider.Authenticate every request with a Service Access Token or Organization Token.
Set the token value in the Authorization: Bearer <token> header.
Service Access Token: Scoped to a single service. Use when automating service-level configuration or runtime flows.
Organization Token: Scoped to the organization; inherits permissions across services. Use for org-wide automation or when managing multiple services programmatically.
Both token types are issued by the Authlete console or provisioning APIs.
A service ID.
The value of this parameter should be: (a) the value of the jwtAccessToken parameter in a response
from the /auth/token API when the value is available, or (b) the value of the accessToken
parameter in the response from the /auth/token API when the jwtAccessToken parameter is not
available.
The device secret. The value of this parameter should be the value of the deviceSecret parameter
in the response from the /auth/token API, if the parameter is present. Otherwise, the authorization
server should generate a new device secret and specify it as the value of this parameter.
The value of this parameter should be the value of the refreshToken parameter in a response
from the /auth/token API.
The value that should be used as the value of the sub claim of the ID token. This parameter
is optional. When omitted, the value of the subject associated with the access token is used.
Additional claims that should be embedded in the payload part of the ID token. The format is a JSON object. This parameter is optional.
Additional parameters that should be embedded in the JWS header of the ID token. The format is a JSON object. This parameter is optional.
The type of the aud claim of the ID token being issued. Valid values of this parameter are
as follows:
The device secret hash. The specified device secret hash is included as the value of the ds_hash
claim in the ID token generated by the /nativesso API. If the deviceSecretHash request parameter
is omitted, the value of the deviceSecret request parameter is used to compute the hash.
Native SSO processing completed successfully
The code which represents the result of the API call.
A short message which explains the result of the API call.
The next action that the implementation of the token endpoint should take.
OK, INTERNAL_SERVER_ERROR, CALLER_ERROR The response content that can be used as the message body of the token response that should be returned from the token endpoint.
The issued ID token.