I think an id or label per endpoint set would be needed to determine the set of 
endpoints to be used by a certain client.

On the conceptual side, I’m asking myself how the complete process is supposed 
to work. Who is deciding what issuer/endpoint set combination to use. I assume 
in an open banking scenario, there will always be some kind of bank chooser. 
Will this chooser provide the client with issuer and brand id? 

> On 22. May 2020, at 08:10, Vladimir Dzhuvinov <[email protected]> wrote:
> 
> A mapping like the one you propose can definitely work. Since the user will 
> be making the choice which endpoint to take with the client app, having the 
> logo_uri is a good idea. If the branded endpoints differ somehow in policy 
> one could also allow inclusion of the op_policy_uri and op_tos_uri params 
> from Discovery.
> 
> https://openid.net/specs/openid-connect-discovery-1_0.html#IssuerDiscovery
> 
> Vladimir
> 
> On 20/05/2020 19:16, Joseph Heenan wrote:
>> Thanks for your thoughts Vladimir!
>> 
>> The client_id based solution I wasn’t previously aware of - unfortunately it 
>> doesn’t solve the problem for app2app, as the mobile OS selects the app to 
>> use based purely on the URL (and in at least the iOS case will not offer the 
>> user a choice if multiple apps claim to handle the same url).
>> 
>> I think some kind of mapping like you suggest will work and fallback, I 
>> wonder about a structure in the authorization server metadata something like 
>> this:
>> 
>> {
>>   ...
>>   "alternative_authorization_endpoints": [
>>     {
>>       "authorization_endpoint": "https://loadsamoney/business/auth";,
>>       "description": "loadsmoney business banking customers",
>>       "logo_url": "https://loadsamoney/business/logo.png";
>>     },
>>     {
>>       "authorization_endpoint": "https://loadsamoney/consumer/auth";,
>>       "description": "loadsmoney personal customers",
>>       "logo_url": "https://loadsamoney/consumer/logo.png";
>>     }
>>   ]
>> }
>> 
>> And as you say, the existing authorization_endpoint can be a fallback for 
>> clients that are unaware of the new spec or prefer the simpler option of 
>> just using a single authorization endpoint. Supporting the new spec would 
>> allow a better UX though so there’s advantages to client to do so.
>>> Speaking of mTLS, I'm not sure how the "mtls_endpoint_aliases" can be 
>>> sensibly combined with the proposed multi-brand spec.
>>> 
>> I think that particular part is not really an issue as mtls isn’t used at 
>> the authorization endpoint.
>> 
>> Thanks
>> 
>> Joseph
>> 
>> 
>>> On 20 May 2020, at 16:07, Vladimir Dzhuvinov <[email protected]> 
>>> wrote:
>>> 
>>> Hi Dave,
>>> 
>>> In the absence of such a "multi-brand" spec we have tackled this issue in 
>>> the past by letting the "brand" be encoded in the client_id. An alternative 
>>> scenario is to do a "brand" lookup by client_id. Then let the AS render the 
>>> "branded" authZ endpoint.
>>> 
>>> You're probably aware the mTLS spec is allowing for endpoint aliases, so 
>>> this is not the first time such as need has occurred:
>>> 
>>> https://tools.ietf.org/html/rfc8705#section-5
>>> 
>>> One could devise a similar JSON object with mappings "label" - 
>>> "authorization_endpoint".
>>> 
>>> Clients that are aware of the new spec will look it up, those that are not 
>>> will fall back to the std "authorization_endpoint".
>>> 
>>> Speaking of mTLS, I'm not sure how the "mtls_endpoint_aliases" can be 
>>> sensibly combined with the proposed multi-brand spec.
>>> 
>>> 
>>> 
>>> Vladimir
>>> 
>>> 
>>> 
>>> On 20/05/2020 15:07, Dave Tonge wrote:
>>>> Dear OAuth WG
>>>> 
>>>> We have an issue in the OpenID FAPI Working Group that we believe affects 
>>>> the wider OAuth community.
>>>> 
>>>> In summary: what is the recommended approach to discovery (RFC8414) for 
>>>> Authorization Servers who support multiple "brands" .
>>>> 
>>>> If brands are completely separate, then it seems sensible that each brand 
>>>> must have its own `issuer` and therefore its own discovery document at the 
>>>> correct location (i.e. brand 1 would have an issuer of "https://as/brand1"; 
>>>> and a discovery document available at  
>>>> https://as/.well-known/oauth-authorization-server/brand1).
>>>> 
>>>> However in the real world it is not always so simple. We have many 
>>>> existing implementations in UK open banking that support multiple 
>>>> authorization endpoints. Here is an example (thanks to @Joseph Heenan )
>>>> 
>>>> > Bank “loadsamoney” has one idp and, for internet banking, one “login 
>>>> > page” for both business and personal customers.
>>>> 
>>>> > They have separate mobile apps for business/personal, and are required 
>>>> > to support app2app. This means they will definitely be exposing multiple 
>>>> > authorization endpoints (as there’s a 1:1 mapping of authorization 
>>>> > endpoints to mobile apps) - the choice is how they do this.
>>>> 
>>>> > Their choices are:
>>>> 
>>>> > 1. Multiple discovery endpoints (one for business, one for personal), 
>>>> > each with a different authorization endpoint, multiple issuers (if their 
>>>> > vendor allows this)
>>>> > 2. Single discovery endpoint, single issuer, multiple authorization 
>>>> > endpoints listed in one discovery doc (one for business, one for 
>>>> > personal) some of which are hardcoded by the 3rd party
>>>> > 3. Multiple discovery endpoints each with a different authorization 
>>>> > endpoint, same issuer in all cases (breaks RFC8414 and OIDC Discovery)
>>>> 
>>>> Option 3 is invalid and that leaves us with options 1 and 2. 
>>>> Option 1 can be problematic as often it is in reality the same `issuer` 
>>>> behind the scenes.
>>>> 
>>>> We would like to get feedback on this issue and potentially an extension 
>>>> to RFC8414 to allow the definition of multiple authorization endpoints.
>>>> 
>>>> Thanks in advance
>>>> 
>>>> Dave Tonge
>>>> Co-Chair FAPI WG
>>>> Open ID Foundation
>>>> 
>>>> 
>>> 
>> 
> -- 
> Vladimir Dzhuvinov
> 
> _______________________________________________
> OAuth mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/oauth

_______________________________________________
OAuth mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to