Hi Adam,

Thx for this interresting information. Did you consider, just using OIDC for 
both, authentication and authorization?

As the JWT-based id_token can contain self-defined claims and as the current 
spec gives us a way to exchange one token for another, which allows us for 
(SAML/WS-Trust-like) delegation-scenarios, I'm wondering, if I still need 
OAuth2-based authorization for enterprise-scenarios.

What do you think about this?

Wishes,
Manfred

Von meinem iPhone gesendet

Anfang der weitergeleiteten E‑Mail:

> Von: Lewis Adam-CAL022 <adam.le...@motorolasolutions.com>
> Datum: 24. Juli 2013 04:31:13 MESZ
> An: Brian Campbell <bcampb...@pingidentity.com>, Pedro Felix 
> <pmhsfe...@gmail.com>
> Kopie: oauth <oauth@ietf.org>
> Betreff: Re: [OAUTH-WG] Using SAML for authentication *and* as Authorization  
> Grants
> 
> Hi Pedro … for what it’s worth I am looking at something almost the same, 
> except using JWT with OIDC. 
>  
> 1.       OIDC client (web app) requests an id_token from OIDC provider, 
> including a request object specifying that the audience of the JWT id_token 
> should include both the client_id and the AS in the audience field
> 2.       OIDC client (web app) uses the id_token received in the response in 
> the OAuth JWT assertion profile as a grant to request additional OAuth access 
> tokens
>  
> This was made possible relatively recently by updates to the 
> draft-ietf-oauth-json-web-token spec and in conjunction with the OIDC 
> messages spec.  The draft-ietf-oauth-json-web-token spec was updated to allow 
> the audience claim to be an array of values.  OIDC allows for a request 
> object to be communicated in the authorization request and hence specify the 
> desired audiences. 
>  
> I understand you’re looking to use SAML and not OIDC, but I believe the flow 
> is nearly identical.  As Brian mentions it might be more of an implementation 
> issue than anything else.  But it seems acceptable from a security vantage 
> anyway.
>  
> -adam
>  
>  
> From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org] On Behalf Of 
> Brian Campbell
> Sent: Tuesday, July 23, 2013 9:14 AM
> To: Pedro Felix
> Cc: oauth
> Subject: Re: [OAUTH-WG] Using SAML for authentication *and* as Authorization 
> Grants
>  
> Seems legitimate to me. In fact, initial versions of the draft sought to 
> simplify things by restricting the audience restriction and subject 
> confirmation to single elements but was expanded to allow for this kind of 
> scenario.  
> 
> In my (somewhat limited) experience, however, support in SAML products for 
> producing assertions targeted at multiple audiences and with multiple subject 
> confirmations isn't very good. So while the standards allow for it, you may 
> run into issues trying to do this in practice. Maybe.
> 
> From a security perspective I think it's okay. Though anytime you have a 
> bearer assertion targeted at multiple audiences, you do effectively allow any 
> of them to use the assertion. Which isn't always wrong but worth considering. 
> In this case though, I don't think that's an issue.
> 
> Another potential approach to consider for this particular case is to send 
> the OAuth access token with the SSO assertion (included as an attribute). I 
> believe some deployments are taking that approach today.
>  
> 
> 
>  
>  
> 
> On Mon, Jul 22, 2013 at 7:39 AM, Pedro Felix <pmhsfe...@gmail.com> wrote:
> Hi,
>  
> I'm considering a scenario where a Web App plays two roles:
> 1) As a SAML Service Provider/Relying Party, the Web App wants to 
> authenticate it's Users, via a third-party SAML Identity Provider
> 2) As an OAuth 2.0 Client, the Web App wants to use an API on the User's 
> behalf.
>  
> Both the IdP and the API (the Resource Server) belong to the same 
> organization.
>  
> Is it possible to use the *same* SAML assertion for both purposes, assuming 
> that both the SAML IdP and the OAuth AS are controlled by the same 
> organization. The sequence would be something like this:
>  
> 1) The Client Web App uses the SAML protocol (e.g. Redirect Binding/POST 
> Binding) to request a SAML assertion from the IdP/AS.
> 2) The Client Web App uses the received SAML assertion to authenticate the 
> User, as defined by the SAML specs.
> 3) The Client Web App also uses the *same* received SAML assertion to access 
> the IdP/AS token endpoint and obtain an access token. For this, it uses the 
> SAML assertion as an authorization Grant (as defined by the "OAuth SAML 
> Assertion Profiles").
>  
> One possible problem that I've identified in this scenario is the Audience 
> restriction:
>  
> 1) For the SAML assertion to be used by the Web App to authenticate the User, 
> then it's AudienceRestriction should include the Web App Audience
> 2) For the SAML assertion to be used as a Authorization Grant, then it's 
> AudienceRestriction should include the Authorization Server 
>  
> However, the SAML assertion spec allow for multiple Audience elements on the 
> AudienceRestriction, allowing for the above scenario.
>  
> A complementary idea would be for the Authorization Server to check if the 
> OAuth client ID is also contained in the audience, before issuing an access 
> token.
>  
> Is this a legitimate use of the "OAuth SAML Assertion Profiles"? Are there 
> any security problems due to using the same SAML for both authentication and 
> authorization grant, given that the AudienceRestriction is properly assigned 
> and handled?
>  
> Thanks
> Pedro
> 
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
> 
>  
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to