Am 13.05.2010 13:05, schrieb Paul Madsen:
Torsten, have you thought about the relevance of the <saml:Issuer> for identifying the client?

Identify if not authenticate.


Thanks for your advice.

I would not expect the issuer to by the client in that game. In my opinion a client could be a website, which obtains an assertion from an authorization server, let's assume a SAML assertion, during login. So the authorization server would be the issuer of the SAML assertion. In the next step, the client wants to exchange that assertion for an access token needed to access services on behalf of the client.

I would expect the OAuth authorization server to validate the following aspects: - What is the issuer of the assertion and do I accept assertions from that particular issuer?
- Is that particular client allowed to swap such assertions?
- Do I know the end-user identified by the SAML assertions Subject?

regards,
Torsten.


On 5/13/2010 6:38 AM, Torsten Lodderstedt wrote:
In my perception, we reached consensus in the thread "Autonomous clients and resource owners (editorial)" that the assertion flow should support clients acting on behalf of users, not only autonomous clients.

The specification currently states "This flow is suitable when the client is acting autonomously or on behalf of the end-user (based on the content of the assertion used).", which is fine with me.

Im struggling to understand how the flow handles the two required identities, the client and the end-user. I basically see two options:

1) the assertion attests both identities. I'm not aware of any identity framework attesting two identities in a single assertion.

2) If we assume the assertion attests the end-user's identity only, there is the need for additional parameters used to authenticate the client. From my point of view, the situation is similar to the "Username and Password Flow". There, the specification defines two credential sets (username/password and client_id/client_secret) two prove both identities.

Therefore, I would propose to add optional client_id/client_secret parameters (or an Authorization header) to pass the client credentials to the assertion flow if the assertion contains the end-user identity. Alternatively, one could add another flow to the spec, probably called "User Assertion Flow".

Any thoughts?

regards,
Torsten.

_______________________________________________
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