+1 for “OAuth 2.0 Authorization Server Discovery”

 

Best regards,

Don

Donald F. Coffin

Founder/CTO

 

REMI Networks

2335 Dunwoody Xing #E

Dunwoody, GA 30338-8221

 

Phone:      (949) 636-8571

Email:        <mailto:donald.cof...@reminetworks.com> 
donald.cof...@reminetworks.com

 

From: Mike Jones [mailto:michael.jo...@microsoft.com] 
Sent: Thursday, February 25, 2016 2:10 PM
To: Vladimir Dzhuvinov <vladi...@connect2id.com>; oauth@ietf.org
Subject: Re: [OAUTH-WG] OAuth 2.0 Discovery Location

 

Thanks for your thoughts, Vladimir.  I’m increasingly inclined to accept your 
suggestion to change the title from “OAuth 2.0 Discovery” to “OAuth 2.0 
Authorization Server Discovery”.  While the abstract already makes it clear 
that the scope of the document is AS discovery, doing so in the title seems 
like it could help clarify things, given that a lot of the discussion seems to 
be about resource discovery, which is out of scope of the document.

 

I’m not saying that resource discovery isn’t important – it is – but unlike 
authorization server discovery, where there’s lots of existing practice, 
including using the existing data format for describing OAuth implementations 
that aren’t being used with OpenID Connect, there’s no existing practice to 
standardize for resource discovery.  The time to create a standard for that 
seems to be after existing practice has emerged.  It *might* or might not use 
new metadata values in the AS discovery document, but that’s still to be 
determined.  The one reason to leave the title as-is is that resource discovery 
might end up involving extensions to this metadata format in some cases.

 

I think an analogy to the core OAuth documents RFC 6749 and RFC 6750 applies.  
6749 is about the AS.  6750 is about the RS.  The discovery document is about 
the AS.  We don’t yet have a specification or existing practice for RS 
discovery, which would be the 6750 analogy.

 

In summary, which title do people prefer?

*         “OAuth 2.0 Discovery”

*         “OAuth 2.0 Authorization Server Discovery”

 

                                                          -- Mike

 

From: OAuth [mailto:oauth-boun...@ietf.org] On Behalf Of Vladimir Dzhuvinov
Sent: Thursday, February 25, 2016 12:59 AM
To: oauth@ietf.org <mailto:oauth@ietf.org> 
Subject: Re: [OAUTH-WG] OAuth 2.0 Discovery Location

 

In OIDC the discovery doc is of great utility to developers and integrators. 
Developers also tend to find it a more accurate and complete description of how 
to set up a client for a particular deployment, compared to traditional online 
docs, which may be not be up to date, or even missing. Very much like 
auto-generated Swagger and JavaDocs.

Here are some example OIDC discovery docs:

https://accounts.google.com/.well-known/openid-configuration

https://www.paypalobjects.com/.well-known/openid-configuration

https://login.microsoftonline.com/fabrikamb2c.onmicrosoft.com/v2.0/.well-known/openid-configuration


With this discovery document in place setup of identity federation can then be 
easily scripted. For example:

http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html


Now, does that dictate any particular app architecture? My reading of the spec 
is that it doesn't, and it shouldn't either. By staying neutral on the topics 
of RS discovery and registering RPs with RSs. And how one arrives at the 
".well-known/...". I'm not even sure that resource discovery should be a topic 
of this WG. Perhaps to this end, and to prevent confusion that the spec is 
trying to do something more, a more specific title would suit it better. E.g. 
"AS Discovery".

Cheers,

Vladimir




On 25/02/16 02:25, Phil Hunt (IDM) wrote:

And so does oracle and so does google. Each different. 
 
So how can an app dictate it then unless we all go to a common architecture?
 
Phil
 

On Feb 24, 2016, at 16:04, Mike Jones  <mailto:michael.jo...@microsoft.com> 
<michael.jo...@microsoft.com> wrote:
 
Azure defines ways for resource servers to be registered for use with a client 
and for clients to dynamically request an access token for use at a particular 
resource server.  You can call that custom architecture if you want.  It’s 
well-defined but it’s not currently in the standards realm.  I know that Google 
has syntax for doing the same, as I’m sure do a lot of other cloud OAuth 
deployments, such as Oracle’s.  For what it’s worth, the working group talked 
about possibly producing a standard version of syntax for making these kinds of 
requests during our discussions in Prague (during the Token Exchange 
discussion) but nobody has run with this yet.
 
In this sense, yes, Azure is an application of the kind we’re talking about.  
Azure already does define specific new OAuth 2.0 discovery metadata values that 
are used in production.  A registry just doesn’t yet exist in which it can 
register those that are of general applicability.
 
                                                                -- Mike
 
From: Phil Hunt (IDM) [mailto:phil.h...@oracle.com] 
Sent: Wednesday, February 24, 2016 3:52 PM
To: Mike Jones
Cc:  <mailto:oauth@ietf.org> <oauth@ietf.org>
Subject: Re: [OAUTH-WG] OAuth 2.0 Discovery Location
 
Mike
 
Take a look at the assumptions you are making. 
 
You seem to be assuming application software dictates oauth infrastructure 
architecture by suggesting that apps register in iana.  
 
Would ms azure allow custom arch?
 
Phil
 
On Feb 24, 2016, at 15:28, Mike Jones  <mailto:michael.jo...@microsoft.com> 
<michael.jo...@microsoft.com> wrote:
 
The UserInfo Endpoint path isn’t fixed and so has to be discovered.
 
I agree that for some OAuth profiles, one or more resource servers will have to 
be discovered starting from the authorization server.  Working group members 
have also described wanting to discover authorization servers starting from 
resource servers.  There isn’t a standard practice for any of this, which is 
why it’s intentionally left out of the current specification.
 
Once the IANA OAuth Discovery Metadata Registry has been established, which 
will happen after the current specification has been approved, it will be easy 
for subsequent specifications to document existing practice for different OAuth 
profiles and register discovery metadata values supporting them.  Some of those 
values will likely define ways to discover resource servers, when applicable.
 
But first, we need to finish the existing spec, so that the registry enabling 
these extensions gets established in the first place.
 
                                                                -- Mike
 
From: Phil Hunt (IDM) [mailto:phil.h...@oracle.com] 
Sent: Wednesday, February 24, 2016 2:13 PM
To: Mike Jones  <mailto:michael.jo...@microsoft.com> 
<michael.jo...@microsoft.com>
Cc:  <mailto:oauth@ietf.org> <oauth@ietf.org>  <mailto:oauth@ietf.org> 
<oauth@ietf.org>
Subject: Re: [OAUTH-WG] OAuth 2.0 Discovery Location
 
Yup. And because there many relations the client mist be able to discover it. 
The client does not know if the res server is legit. 
 
The userinfo is always fix and so u dont need discovery. 
 
Phil
 
On Feb 24, 2016, at 14:05, Mike Jones  <mailto:michael.jo...@microsoft.com> 
<michael.jo...@microsoft.com> wrote:
 
In OpenID Connect, there’s a resource server called the UserInfo Endpoint that 
returns claims about the authenticated user as a JSON data structure.  Its 
location is published in OpenID Connect discovery metadata as the 
“userinfo_endpoint” metadata value, which is defined at 
http://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata.
 
We didn’t include the UserInfo Endpoint in the generic OAuth discovery spec 
since in OAuth, there are lots of possible relationships between authorization 
servers and resource servers and they needn’t be one-to-one, as is being 
actively discussed by the working group.  For instance, see George Fletcher’s 
recent contribution.
 
Thanks for the good discussion, Phil.
 
                                                                -- Mike
 
From: Phil Hunt (IDM) [mailto:phil.h...@oracle.com] 
Sent: Wednesday, February 24, 2016 1:25 PM
To: Mike Jones
Cc:  <mailto:oauth@ietf.org> <oauth@ietf.org>
Subject: Re: [OAUTH-WG] OAuth 2.0 Discovery Location
 
Where is the profile endpoint (oidc's resource server) published? (For the non 
OIDC people on the list). 
 
Phil
 
On Feb 24, 2016, at 13:09, Mike Jones  <mailto:michael.jo...@microsoft.com> 
<michael.jo...@microsoft.com> wrote:
 
To the extent that generic OAuth 2.0 needs to publish some of the same 
information as OpenID Connect – which is built on generic OAuth 2.0 – it makes 
sense to publish that information using exactly the same syntax, since that 
syntax is already in widespread use.  That what this draft accomplishes.
 
There’s nothing Connect-specific about using metadata response values like:
 
   "authorization_endpoint":  <https://server.example.com/authorize> 
"https://server.example.com/authorize";,
   "token_endpoint":  <https://server.example.com/token> 
"https://server.example.com/token";,
   "token_endpoint_auth_methods_supported": ["client_secret_basic", 
"private_key_jwt"],
   "registration_endpoint":  <https://server.example.com/register> 
"https://server.example.com/register";,
   "response_types_supported":  ["code", "token"],
   "service_documentation":  
<http://server.example.com/service_documentation.html> 
"http://server.example.com/service_documentation.html";,
 
Is there a reason that you would like the syntax for any of these or the other 
generally applicable OAuth 2.0 metadata values to be different?  I don’t see 
any good reason for unnecessary differences to be introduced.
 
                                                                -- Mike
 
From: Phil Hunt (IDM) [mailto:phil.h...@oracle.com] 
Sent: Wednesday, February 24, 2016 12:45 PM
To: Anthony Nadalin  <mailto:tony...@microsoft.com> <tony...@microsoft.com>
Cc: Mike Jones  <mailto:michael.jo...@microsoft.com> 
<michael.jo...@microsoft.com>;  <mailto:oauth@ietf.org> <oauth@ietf.org>  
<mailto:oauth@ietf.org> <oauth@ietf.org>
Subject: Re: [OAUTH-WG] OAuth 2.0 Discovery Location
 
Mike
 
Publishing on dev pages does not work for software (esp open source) that is 
deployed both in enterprises and on PaaS cloud providers. 
 
The current draft is may codify current OIDC practice and be appropriate for 
oidc but it is not ready for generic oauth. There is no generic oauth 
experience at this time. 
 
Phil
 
On Feb 24, 2016, at 10:25, Anthony Nadalin  <mailto:tony...@microsoft.com> 
<tony...@microsoft.com> wrote:
 
Sure there is, it is as you have now made it far easier and the security 
considerations does not even address this
 
From: Mike Jones 
Sent: Wednesday, February 24, 2016 10:22 AM
To: Anthony Nadalin  <mailto:tony...@microsoft.com> <tony...@microsoft.com>
Cc:  <mailto:oauth@ietf.org> <oauth@ietf.org>  <mailto:oauth@ietf.org> 
<oauth@ietf.org>
Subject: RE: [OAUTH-WG] OAuth 2.0 Discovery Location
 
As we’d discussed in person, there’s no effective security difference between 
discovery information being published in an ad-hoc fashion on developer pages 
and it being published in a standard format.  “Security by obscurity” adds no 
real security at all.
 
                                                          -- Mike
 
From: Anthony Nadalin 
Sent: Wednesday, February 24, 2016 10:01 AM
To: Mike Jones  <mailto:michael.jo...@microsoft.com> 
<michael.jo...@microsoft.com>; Phil Hunt (IDM)  <mailto:phil.h...@oracle.com> 
<phil.h...@oracle.com>; Nat Sakimura  <mailto:sakim...@gmail.com> 
<sakim...@gmail.com>
Cc:  <mailto:oauth@ietf.org> <oauth@ietf.org>  <mailto:oauth@ietf.org> 
<oauth@ietf.org>
Subject: RE: [OAUTH-WG] OAuth 2.0 Discovery Location
 

The point of the WGLC is to finish standardizing the core discovery 
functionality that’s already widely deployed.

 
That may be widely deployed for OIDC but not widely deployed for OAuth. There 
are some authentication mechanism discovery for endpoint that really should not 
be in an OAuth standard since it’s really not dealt with. Now that all this 
information is available it makes poking around the endpoint more focused for 
people that want to disrupt your endpoints, that is really not addressed in the 
security considerations  section at all
 
From: OAuth [mailto:oauth-boun...@ietf.org] On Behalf Of Mike Jones
Sent: Wednesday, February 24, 2016 9:54 AM
To: Phil Hunt (IDM)  <mailto:phil.h...@oracle.com> <phil.h...@oracle.com>; Nat 
Sakimura  <mailto:sakim...@gmail.com> <sakim...@gmail.com>
Cc:  <mailto:oauth@ietf.org> <oauth@ietf.org>  <mailto:oauth@ietf.org> 
<oauth@ietf.org>
Subject: Re: [OAUTH-WG] OAuth 2.0 Discovery Location
 
The point of the WGLC is to finish standardizing the core discovery 
functionality that’s already widely deployed.
 
None of Nat or John or I are suggesting that additional related functionality 
won’t be created.  I’m sure it will be.  Some applications will use WebFinger 
to locate the discovery metadata.  Some will possibly use link headers.  Some 
will possibly use application-specific .well-known values.  I’m sure there’s 
other things I haven’t even thought about.  All of these depend upon having a 
discovery metadata document format and none of them change it – other than 
possibly to register additional discovery metadata values.
 
So by all means, the working group should continue discussing inventing 
possible new related mechanisms that make sense in some contexts.  At the same 
time, we can finish standardizing the already widely deployed core 
functionality that all of these mechanisms will need.
 
                                                          -- Mike
 
From: OAuth [mailto:oauth-boun...@ietf.org] On Behalf Of Phil Hunt (IDM)
Sent: Wednesday, February 24, 2016 8:39 AM
To: Nat Sakimura  <mailto:sakim...@gmail.com> <sakim...@gmail.com>
Cc:  <mailto:oauth@ietf.org> <oauth@ietf.org>  <mailto:oauth@ietf.org> 
<oauth@ietf.org>
Subject: Re: [OAUTH-WG] OAuth 2.0 Discovery Location
 
I am suggesting that part of the discovery solution has to be the client 
indicating what resource endpoint it wants the oauth configuration data for. 
 
So if res.example.evil.com is not a valid resource endpoint for as.example.com 
the authz discovery should fail in some way (eg return nothing). 
 
There may be better ways to do this. Eg combine discovery. Or change the order 
of discovery. 
 
One of OAuth's strength's and weaknesses is that the target of authorization 
(the resource) is never specified. It is often bound up in the client 
registration and an often implied 1:1 relationship between resource and as. 
Given that in discovery phase registration has not yet occurred it seems 
important that the client know it has a valid combination of endpoints etc. 
 
This is why I was disappointed about wglc on discovery. We had a starting point 
for group adoption but we haven't really defined the full requirements IMO. 
 
I am on vacation or I would put some thought into some draft changes or a new 
draft. I apologize I can't do it now. 
 
Phil
 
On Feb 24, 2016, at 08:12, Nat Sakimura  <mailto:sakim...@gmail.com> 
<sakim...@gmail.com> wrote:
 
Hi Phil, 
 
Are you suggesting that the AS metadata should include the RS URIs? Currently, 
it does not, but it can be done, I guess. 
 
The way oauth-meta works is that 
 
1. RS tells the client where the AS is. 
2. AS tells the client which RS endpoints the token can be used. 
 
Even if there is a bad AS with a valid certs that proxies to the good RS, the 
client will not send the token there as the authz server will say that is not 
the place the client may want to send the token to. 
 
Nat
 
2016年2月24日(水) 23:59 Phil Hunt  <mailto:phil.h...@oracle.com> 
<phil.h...@oracle.com>:
Nat,
 
I’m not sure that having the resource server tell the client where its 
authorization server is secure by itself. The relationship between the 
Authorization Server and the Resource server need to be bound together in one 
of the discovery endpoints (the resource and/or the oauth service discovery).
 
If a client discovers a fake resource server that is proxying for a real 
resource server the current discovery spec will not lead the client to 
understand it has the wrong resource server. Rather the fake resource service 
will just have a fake discovery service. The hacker can now intercept resource 
payload as well as tokens because they were able to convince the client to use 
the legit authorization service but use the token against the hackers proxy.
 
The OAuth Discovery service needs to confirm to the client that the server is 
able to issue tokens for a stated resource endpoint.
 
This not only works in normal OAuth but should add security even to UMA 
situations.
 
Phil
 
@independentid
www.independentid.com <http://www.independentid.com> 
phil.h...@oracle.com <mailto:phil.h...@oracle.com> 
 
 
 
 
 
On Feb 24, 2016, at 3:54 AM, Nat Sakimura  <mailto:sakim...@gmail.com> 
<sakim...@gmail.com> wrote:
 
 
Hi Thomas, 
 
inline: 
 
2016年2月22日(月) 18:44 Thomas Broyer  <mailto:t.bro...@gmail.com> 
<t.bro...@gmail.com>:
Couldn't the document only describe the metadata?
I quite like the idea of draft-sakimura-oauth-meta if you really want to do 
discovery, and leave it open to implementers / to other specs to define a 
.well-known URL for "auto-configuration".
The metadata described here would then either be used as-is, at any URL, 
returned as draft-sakimura-oauth-meta metadata at the RS; or as a basis for 
other metadata specs (like OpenID Connect). 
With draft-sakimura-oauth-meta's "duri" and the "scope" attribute of 
WWW-Authenticate response header, you have everything you need to proceed 
 
Yup. That's one of the requirements to be RESTful, is it not?  
 
In OAuth's case, the resource and the authorization server are usually tightly 
coupled. (Otherwise, you need another specs like UMA.) 
So, the resource server should be able to tell either the location of the authz 
endpoint. In some trusted environment, the resource may as well return the 
location of the authz server configuration data. In these cases, you do not 
have to decide on what .well-known uri as you say. This frees up developers 
from configuration file location collisions etc. We should strive not to 
pollute the uri space as much as possible. 
 
(well, except if there are several ASs each with different scopes; sounds like 
an edge-case to me though; maybe RFC6750 should instead be updated with such a 
parameter such that an RS could return several WWW-Authenticate: Bearer, each 
with its own "scope" and "duri" value?)
 
Yeah, I guess it is an edge case. I would rather like to see these authz 
servers to develop a trust framework under which they can agree on a single set 
of common scope parameter values. 
 
Cheers, 
 
Nat
 
 
 
On Fri, Feb 19, 2016 at 10:59 PM Justin Richer  <mailto:jric...@mit.edu> 
<jric...@mit.edu> wrote:
The newly-trimmed OAuth Discovery document is helpful and moving in the right 
direction. It does, however, still have too many vestiges of its OpenID Connect 
origins. One issue in particular still really bothers me: the use of 
“/.well-known/openid-configuration” in the discovery portion. Is this an OAuth 
discovery document, or an OpenID Connect one? There is absolutely no compelling 
reason to tie the URL to the OIDC discovery mechanism.
 
I propose that we use “/.well-known/oauth-authorization-server” as the default 
discovery location, and state that the document MAY also be reachable from 
“/.well-known/openid-configuration” if the server also provides OpenID Connect 
on the same domain. Other applications SHOULD use the same parameter names to 
describe OAuth endpoints and functions inside their service-specific discovery 
document.
 
 — Justin
_______________________________________________
OAuth mailing list
OAuth@ietf.org <mailto:OAuth@ietf.org> 
https://www.ietf.org/mailman/listinfo/oauth
_______________________________________________
OAuth mailing list
OAuth@ietf.org <mailto:OAuth@ietf.org> 
https://www.ietf.org/mailman/listinfo/oauth
_______________________________________________
OAuth mailing list
OAuth@ietf.org <mailto:OAuth@ietf.org> 
https://www.ietf.org/mailman/listinfo/oauth
 
_______________________________________________
OAuth mailing list
OAuth@ietf.org <mailto:OAuth@ietf.org> 
https://www.ietf.org/mailman/listinfo/oauth

 





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

 

-- 
Vladimir Dzhuvinov :: vladi...@connect2id.com <mailto:vladi...@connect2id.com> 
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to