Backchannel Authentication Endpoint
As mentioned previously, the Step-up Authentication (Push Notifications) flow is implemented over the CIBA Poll mode flow.
This endpoint allows RPs to make an authentication request to begin a CIBA session with Singpass for a given user identifier. When initiation is successful, the RP will receive an auth session identifier which should be used for the subsequent CIBA steps.
Details about the user identifier is detailed in the login_hint
field under the Request Parameters section below.
Client Authentication
To initiate the CIBA flow, RPs must authenticate itself with Singpass using client assertion JWT.
Refer to this section for the structure of assertion JWT.
Backchannel Authentication Request and Response
Curl request
Form parameters
client_assertion
The jwt used for authorization
client_assertion_type
The type of grant being requested. This MUST be set to urn:ietf:params:oauth:client-assertion-type:jwt-bearer
login_hint
A hint to the OpenID Provider regarding the end-user for whom authentication is being requested. Must be in upper case NRIC format or lower case UUID format.
scope
Supported value is openid
.
HTTP request
HTTP response
HTTPie request
Request body
Response body
Response fields
auth_req_id
String
ID given in the start of the OIDC CIBA flow that should be used to reference this authentication session.
expires_in
Number
A JSON number with a positive integer value indicating the expiration time of the "auth_req_id" in seconds since the authentication request was received.
Error Responses
The table below shows the list of common error codes that may be returned for this endpoint.
unknown_user_id
No active valid Singpass App (mobile) user available for given login_hint.
access_denied
End-user is an SFA user and is not authorised to authenticate into this RP.
invalid_client
RP failed client assertion authentication.
invalid_request
Invalid request parameters.
invalid_scope
The scope requested is not valid.
Last updated
Was this helpful?