Below is an example of authentication script.
Information on how to execute the sample scripts
The output of the script is as follows:
private_key_jwt authentication output
{
"access_token": "eyJ0eXAiOiJKV1QiLCJraWQiOiJmVWRmbEJSa3c5bm1tejcrL3BmMWM5d2RYdXc9I.......vvwFVnq8c8QArKsMmgBw",
"scope": "das-api/das-access",
"token_type": "Bearer",
"expires_in": 3599
}
Access_token attributes like signature, validity, audience and scopes must be verified by the client, similarly DAS API must also verify the access_token and must additionally check if the client id (=sub claim) is authorized. DAS API must maintain the whitelisted clients
access_token payload
{
"sub": "das-api-auth",
"cts": "OAUTH2_STATELESS_GRANT",
"auditTrackingId": "142b3081-d3c7-422c-b8d4-65869065f348-54991",
"iss": "https://logindev.wipo.int:443/am/oauth2",
"tokenName": "access_token",
"token_type": "Bearer",
"authGrantId": "nJ8nhylC8Kx9DY8l2SHlopwCfbg",
"aud": "das-api-auth",
"nbf": 1622454953,
"grant_type": "client_credentials",
"scope": [
"das-api/das-access"
],
"auth_time": 1622454953,
"realm": "/",
"exp": 1622458553,
"iat": 1622454953,
"expires_in": 3600,
"jti": "roG8mqa8Z1Z3F00Md20vUoyhA0I"
}