The image can be protected by both. Do you expect OAuth to be used with user 
present in the browser?

On 2010-05-17, at 11:20 PM, Eran Hammer-Lahav wrote:

> Why can’t an image be protected with both Basic and OAuth? In this case the 
> browser is the OAuth client.
>  
> EHL
>  
> From: Dick Hardt [mailto:dick.ha...@gmail.com] 
> Sent: Sunday, May 16, 2010 11:38 AM
> To: Eran Hammer-Lahav
> Cc: Evan Gilbert; OAuth WG
> Subject: Re: [OAUTH-WG] Indicating sites where a token is valid
>  
> Not sure if you intended this, but you are mixing user present and user not 
> present access control.
> 
> I do NOT think we want OAuth protected images to be the same as Basic auth 
> protected images. I do think OpenID protected images and Basic auth are 
> similar. With OAuth today, the user has granted explicit permission at a 
> particular resource, not any resource the user may have access to.
>  
> -- Dick
>  
> On Thu, May 13, 2010 at 9:30 AM, Eran Hammer-Lahav <e...@hueniverse.com> 
> wrote:
> Today when I cut/paste a URI of an image using Basic auth, the browser knows 
> exactly what to do. I want to do the same with an OAuth-protected image. 
> Saying that there aren’t standards API out there to benefit from this is 
> incorrect. There are plenty.
>  
> This is complete discovery for the authentication layer. The rest doesn’t 
> belong here, the same way this doesn’t belong as part of the API 
> specification.
>  
> EHL
>  
> From: Evan Gilbert [mailto:uid...@google.com] 
> Sent: Thursday, May 13, 2010 9:16 AM
> To: Eran Hammer-Lahav
> Cc: Manger, James H; OAuth WG
> 
> Subject: Re: [OAUTH-WG] Indicating sites where a token is valid
>  
>  
> 
> On Thu, May 13, 2010 at 9:08 AM, Eran Hammer-Lahav <e...@hueniverse.com> 
> wrote:
> You are trying to match a mechanism designed for automatic discovery with a 
> system designed to require paperwork. It sounds like for your use cases, you 
> will not be using this optional parameter and just document how to use your 
> API (i.e. hardcode your security setup and API format).
>  
> I'm saying it should be a fully automatic discovery or use paperwork. Having 
> an API return valid URL prefixes to send the token to without having an API 
> to determine the actual URLs you send tokens to seems odd.
>  
> The whole point of this is that the developer isn’t involved. The library 
> takes care of everything. All the developer does is ask to get a protected 
> resource. The library will check if it already has a valid token for that 
> resource (based on the security restrictions provided by the sites parameter, 
> and the scope requirements – two very separate things).
>  
> This is an incomplete mechanism for automatic discovery. How does the 
> developer find out where to ask for the protected resource in the first place?
>  
> So yes – if your developers have plenty of stuff to hardcode already, this 
> adds little value.
>  
> EHL
>  
> From: oauth-boun...@ietf.org [mailto:oauth-boun...@ietf.org] On Behalf Of 
> Evan Gilbert
> Sent: Thursday, May 13, 2010 9:00 AM
> 
> To: Manger, James H
> Cc: OAuth WG
> Subject: Re: [OAUTH-WG] Indicating sites where a token is valid
>  
>  
> 
> On Wed, May 12, 2010 at 11:52 PM, Manger, James H 
> <james.h.man...@team.telstra.com> wrote:
> Evan,
> 
> > The key point is that this discovery covers a lot of the same grounds as 
> > the sites parameter, and it's hard  to define semantics around a sites 
> > parameter without understanding the semantics of scopes and API endpoints.
> 
> I strongly disagree. The semantics are crystal clear:
>  "Here is a token. It is INSECURE to send it anywhere not in this list."
> These semantics are useful regardless of what the API does, how the client is 
> using it, or how much (or how little) the client knows about the API.
>  
> To expand - it's hard to define *useful* semantics around a sites parameter 
> without understanding the semantics of scopes and API endpoints. Yes, you can 
> define crystal clear semantics, but these are not useful unless they work 
> well with the way developers figure out the endpoints to call APIs.
>  
> 
> 
> > Clients need to [know] more about these links (at least the response 
> > format).
> 
> That knowledge comes from other standards (HTML, Atom, wiki of rel values...) 
> and is totally independent of whether a token should or should not be sent.
>  
> In our use cases, clients almost always need to know more about the API:
> - How to call directly - we have no API endpoints that are only arrived at by 
> links
> - Response format of the data
>  
> 
> 
> > The mechanism they use to find out about these links - documentation, 
> > discovery, data returned with token request - could also provide the 
> > information about whether a token should be sent to a particular API.
> 
> Could, but shouldn't and doesn't in practise.
> It is much much better to have the information about how to use a token 
> securely delivered at the same time & place as receiving that token, and with 
> minimal assumptions about how much the client apps knows about the service.
>  
> So why wouldn't we return a list of specific API endpoints instead of a 
> "sites" parameter?
>  
> Developers are going to call the APIs endpoints that they know about. If 
> there is a conflict between this and the sites parameter, what should they 
> do? For example, if facebook returns a sites parameter 
> "https://unknown.facebook.com/";, do we think the developer is going to not 
> try to use the access token on https://graph.facebook.com/ ? 
>  
> Separating the concept of sites from API endpoints feels like a bad idea. 
> Discovery / docs will give you a list of URLs where you should send tokens. 
> The "sites" parameter will give you a list of URLs where you can send tokens. 
> This is redundant, and will lead to developers / libraries not respecting the 
> sites parameter. If developers / libraries don't respect it, then the service 
> can't rely on it for enforcing security.
>  
> Another note: Where do we anticipate clients storing the sites parameter in 
> the User-Agent flow? Right now the access token can be set as an HTTP cookie 
> by the client. Do we expect them to set a separate "sites" cookie and respect 
> this on their server when making requests? This seems complicated.
>  
> 
> 
> > I should be more concrete about the use cases I see. Let's assume there's 
> > an API where there are two endpoints, each with an associated permission
> > - contacts.list permission -> 
> > http://contacts.serviceprovider.com/contacts/list
> > - calendar.get permission -> 
> > http://calendar.serviceprovider.com/calendar/get
> >
> > If the response to an authorization request includes the authorized scopes 
> > (contacts.list, calendar.get), then the "sites" parameter is redundant.
> 
> I'll admit that "sites" is redundant if a client has *perfect* knowledge 
> about a service, but so is pretty much any standard at that point.
> 
> Consider a generic search spider tool that you point at 
> http://calendar.serviceprovider.com/calendar/get. It can do its job with no 
> knowledge about what "calendar.get" means -- but it still needs to know (as 
> it spiders along) when it is safe to expose the token.
>  
> How does the generic search spider know to call to 
> http://calendar.serviceprovider.com/calendar/get in the first place?
>  
> 
> 
> --
> James Manger
> 
>  
>  
> 
> _______________________________________________
> 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