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" }