QA
Senior LevelAuthentication & Authorization

What is OAuth 2.0 Rich Authorization Requests (RAR / RFC 9396) for complex financial transactions?

❓ Interview Prompt: Explain RFC 9396 Rich Authorization Requests (RAR), authorization_details JSON objects, fine-grained transaction scopes, and Open Banking.

Standard OAuth 2.0 scopes use simple flat strings (e.g. 'scope="read:payments"'). This fails for complex enterprise transactions (such as Open Banking wire transfers) where authorization requires structured constraints (e.g. "Transfer max $5,000 to IBAN DE89... from account 1042"). Rich Authorization Requests (RAR) (RFC 9396) fixes this.

RAR Structure ('authorization_details' JSON Array):

Clients pass a structured JSON array detailing exact transaction parameters during authorization:

'''json

[

{

"type": "payment_initiation",

"actions": ["execute"],

"locations": ["https://api.bank.com/payments"],

"instructedAmount": { "currency": "EUR", "amount": "5000.00" },

"creditorAccount": { "iban": "DE89370400440532013000" }

}

]

'''

•
The Auth Server parses the JSON structure, displays exact transaction details on the consent screen, and issues an access token strictly bound to those exact parameters!

Code Implementation Example

json
{
  "authorization_details": [
    {
      "type": "openid_credential",
      "format": "jwt_vc_json",
      "credential_definition": {
        "type": ["VerifiableCredential", "UniversityDegreeCredential"]
      }
    }
  ]
}
💡RFC 9396 RAR authorization_details JSON payload for specialized credential issuance.
🎯 Interview Key Takeaway

RAR (RFC 9396) passes structured JSON arrays (authorization_details) for fine-grained, transaction-specific authorization constraints.

#RAR#RFC 9396#Open Banking#OAuth 2.0#Senior
Back to all Authentication & Authorization Questions→

More Authentication & Authorization Interview Questions

Beginner LevelAuthentication & Authorization

Compare JWT Token Authentication versus Stateful Sessions, and explain OAuth 2.0 PKCE flow.

Beginner LevelAuthentication & Authorization

What is the fundamental difference between Authentication (AuthN) and Authorization (AuthZ)?

Beginner LevelAuthentication & Authorization

Why should passwords never be stored in plain text and how do bcrypt and Argon2id work?