Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleOld content
  • multiple RSs, federated RSs, delegation/RqP/resource-sharing, self-management of access policy, clients stay unaware of authorization/policy

  • it’s not OIDC or identity federation, it’s data access

  • without getting too technically deep!

Why OAuth / OIDC alone doesn’t work.

While OAuth 2.0 is a widely adopted and flexible authorization protocol, it has certain limitations that make it less suitable for the UK pension dashboard project:

...

OAuth 2.0

...

stands as a widely implemented authorization protocol, particularly known for its client-centric approach. Applications, acting as clients, are often entrusted to request resource access on behalf of users. This

...

method, while practical in many scenarios, has revealed several limitations impacting user control and data access transparency

...

.

5.1.1 Client-Initiated Centric Authorization :Challenges

The OAuth 2.0 predominantly emphasizes client-centric authorization, wherein applications solicit access to resources on users' behalf. This model can:

  • Diminish user control.

  • Decrease transparency regarding data access.

Key Points:

  • The client, rather than the user, frequently initiates the authorization in OAuth 2.0.

  • Users often face restrictions to merely granting or denying the entire request without more refined control over data accessibility.

  • Users receive data about access requestors, boosting transparency and cultivating trust in how their financial information is managed.

5.1.2 Broad Scopes:

Scopes in OAuth 2.0 define access levels but:

  • Are frequently expansive and might not symbolize precise data elements or actions users wish to authorize.

  • Clients typically create these scopes, which users might find difficult to comprehend.

  • Scope definitions may differ between OAuth 2.0 services, leading to potential inconsistencies.

5.1.3 Consent Prompts:

While protocol's emphasis on client initiation for authorization requests frequently results in reduced autonomy for users. In this structure, the decision power is shifted away from the user, who is typically only presented with the binary choice to grant or deny access without the capability to fine-tune the permissions. Although this system informs users of who is requesting their data, thereby promoting transparency, it simultaneously curtails their control over their financial data's management.

Scope Definition Concerns

In OAuth 2.0, the level of access a client requests is defined by scopes. These scopes, however, tend to be broad and may not accurately reflect the specific data elements or actions that a user is comfortable sharing. This broadness often stems from clients creating scopes, leading to a mismatch between user intentions and the permissions granted. Differing scope definitions across various OAuth 2.0 services add another layer of complexity and inconsistency.

Consent Prompt Limitations

OAuth 2.0's consent prompt offers a user control level, it often:

  • Limits control to predefined scopes.

  • Doesn't always match users' specific preferences.

5.1.4 Dynamic Authorization & Delegation:

Compared to UMA 2.0:

  • OAuth 2.0 wasn't conceived with dynamic, user-led authorization.

  • It lacks mechanisms for post-authorization access permission alterations without client engagement.

  • UMA 2.0 supports dynamic authorization, empowering users to amend access policies independently.

5.1.5 Resource Owner Role:

In OAuth 2.0:

  • Users, termed "resource owners", play a more passive role than in UMA's user-centric models.

  • The user's main function is to approve or deny access, not actively manage resource access.

In contrast, UMA 2.0 provides users the autonomy to designate required scopes.

5.1.6 Consent Persistence:

OAuth 2.0 often preserves consent as long-lived access tokens, potentially hindering users from withdrawing resource access based on evolving preferences.

In UMA 2.0:

...

prompts are designed to offer users a degree of control over their data. Nevertheless, this control is typically limited to accepting or rejecting predefined scopes, which may not align with the user's detailed preferences for data sharing and access.

Dynamic Authorization and Delegation

Unlike UMA 2.0, OAuth 2.0 does not inherently support dynamic, user-driven authorization. It provides no mechanism for users to modify permissions post-authorization without re-engaging the client. This limitation is in stark contrast to UMA 2.0, which facilitates dynamic authorization, allowing users to adjust access policies autonomously.

The Passive Role of the Resource Owner

Within the OAuth 2.0 framework, users are labeled as "resource owners," yet their role is substantially more passive compared to user-centric models like UMA. Users are often relegated to the role of gatekeepers who can either approve or block access, without the facility to actively manage their resources.

Consent Persistence and User Control

OAuth 2.0 typically maintains consent through long-lived access tokens, which could restrict the user's ability to revoke access as their preferences evolve. On the contrary, UMA 2.0 enables users to define expiration parameters directly through the UMA Authorization UI, offering a more flexible and user-driven model of consent management.

In conclusion, these identified limitations of OAuth 2.0 highlight the need for a more nuanced, user-centric approach to authorization, particularly in handling sensitive information such as financial data. UMA 2.0's framework addresses these concerns, providing users with a higher degree of control, transparency, and flexibility, thereby making it a more suitable choice in scenarios demanding stringent data protection and user empowerment.

Expand
titleold content

5.1.1 Client initiated authorization

In OAuth 2.0, the authorization process is typically initiated by the client (the application) rather than the user. The client requests access to a resource, and the user is prompted to grant or deny access. However, the user's control is often limited to granting or denying the entire request, rather than having fine-grained control over what data the client can access.

In addition to that, users are informed about who is requesting access to their resources and can make informed decisions based on this information. This transparency fosters trust and ensures that users are aware of how their financial data is being accessed.

5.1.2 Broad scopes

OAuth 2.0 uses scopes to define the level of access a client is requesting. However, scopes are often broad and may not reflect the precise data elements or actions the user wants to permit. Because in most cases, client create those scopes and user may not fully understand the implications of granting a particular scope.

Also, the scopes define varies between oauth 2.0 service and client, which leads to potential inconsistencies and complexities when dealing with scopes across different services.

5.1.3 Consent prompts

OAuth 2.0's consent prompt typically asks users to grant access to specific resources or scopes. While this is a form of user control, the granularity of control is often limited to the predefined scopes, which may not align with the user's nuanced preferences.

5.1.4 Dynamic Authorization & delegation

OAuth 2.0 was not designed with dynamic, user-driven authorization in mind. It does not provide mechanisms for users to modify access permissions post-authorization without involving the client. In contrast, UMA 2.0 supports dynamic authorization and allows users to change access policies without client intervention.

5.1.5 Resource owner rule

In OAuth 2.0, the user is often referred to as the "resource owner," but the user's role is more passive than in user-centric models like UMA. The user's primary role is to grant or deny access rather than actively manage access to their resources.

In UMA 2.0, user can choose to specify which scopes are needed

5.1.6 Consent persistence

OAuth 2.0 consent is often persisted in the form of access tokens, which may be long-lived. This can limit the user's ability to revoke access to their resources when their preferences change.

In UMA 2.0, user can do expiration through the UMA Authorization UI rather than through clients.

...