The AS knows the RS's that will consume it's tokens because it knows the scopes that it can allow the user to authorize. I don't think the AS MUST know the endpoints of the RS (which is what the current drafts require).

It is not often that the entity/group responsible for the Authorization Service is also responsible for the actual resource server. Take for example a Mail API run by one team and the Authorization server managed by the Identity team.

Requiring the Mail Team to notify and coordinate the change of endpoints for a new deployment is brittle.

Also, I believe the main reason for wanting to bind a token to an endpoint is to protect the token from being sent to a malicious RS and then having that RS replay the token. If possible replay of a token is the main concern, then why not use PoP which ensures that only the appropriate client and present the token. This seems a much cleaner way to protect against this threat.

Thanks,
George

On 2/25/16 2:02 AM, Manger, James wrote:

> I'm concerned that forcing the AS to know about all RS's endpoints that will accept it's tokens creates a very brittle deployment architecture

The AS is issuing temporary credentials (access_tokens) to clients but doesn’t know where those credentials will work? That’s broken.

An AS should absolutely indicate where an access_token can be used. draft-sakimura-oauth-meta suggests indicating this with 1 or more “ruri” (resource URI) values in an HTTP Link header. A better approach would be including a list of web origins in the token response beside the access_token field.

--

James Manger

*From:*OAuth [mailto:oauth-boun...@ietf.org] *On Behalf Of *George Fletcher
*Sent:* Thursday, 25 February 2016 6:17 AM
*To:* Phil Hunt <phil.h...@oracle.com>; Nat Sakimura <sakim...@gmail.com>
*Cc:* <oauth@ietf.org> <oauth@ietf.org>
*Subject:* Re: [OAUTH-WG] OAuth 2.0 Discovery Location

I'm concerned that forcing the AS to know about all RS's endpoints that will accept it's tokens creates a very brittle deployment architecture. What if a RS moves to a new endpoint? All clients would be required to get new tokens (if I understand correctly). And the RS move would have to coordinate with the AS to make sure all the timing is perfect in the switch over of endpoints.

I suspect a common deployment architecture today is that each RS requires one or more scopes to access it's resources. The client then asks the user to authorize a token with a requested list of scopes. The client can then send the token to the appropriate RS endpoint. The RS will not authorize access unless the token has the required scopes.

If the concern is that the client may accidentally send the token to a "bad" RS which will then replay the token, then I'd rather use a PoP mechanism because the point is that you want to ensure the correct client is presenting the token. Trying to ensure the client doesn't send the token to the wrong endpoint seems fraught with problems.

Thanks,
George


_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to