Sure. We'll ultimately be publishing some case studies that will hopefully make 
this clearer, but the key place to start in the spec is here:

http://docs.kantarainitiative.org/uma/draft-uma-core.html#r-h-attempt-access

".... The requester typically attempts to access the desired resource at the 
host directly (for example, when a human operator of the requester software 
clicks on a thumbnail representation of the resource). The requester is 
expected to discover, or be provisioned or configured with, knowledge of the 
protected resource and its location out of band. Further, the requester is 
expected to acquire its own knowledge about the application-specific methods 
made available by the host for operating on this protected resource (such as 
viewing it with a GET method, or transforming it with some complex API call) 
and the possible scopes of access."

So the requester can initiate the request, with the following preconditions:

- The host (RS) has registered this resource as protected with the 
authorization manager (AS).
- The requester (client)/requesting party has learned the location and 
applicable API details of the resource out of band.

The interactions among the host (RS), AM (AS), and requester (client -- 
potentially operated by a third party who is not the RO) are protected with 
various tokens. This is illustrated in the introduction with ASCII art...

http://docs.kantarainitiative.org/uma/draft-uma-core.html#introduction

The actual protected resource requires a "requester permission token" (RPT) 
associated with suitable authorization data. This is an UMA-specific construct 
-- admittedly not a true OAuth flow, though inspired by it! The AM presents a 
protection API to the host for registering protected resources; the API is 
protected by a plain-vanilla OAuth token called a protection API token (PAT). 
The AM also presents an authorization API to the requester, which is protected 
by a plain-vanilla OAuth token called an authorization API token (AAT). We're 
counting on dynamic client registration to be in place wherever deployers want 
true loose coupling.

When the requester initiates a request, if it has no token at all, the host 
directs it to the AM to get first an AAT (which conveys Bob's authorization to 
use it and the AM in conveying identity claims to win authorization), and 
ultimately an RPT (which convey's Alice's authorization for Bob and this 
requester app to access the resource with specific scopes). Of course we're 
talking about an UMA-enabled requester here, but it can literally initiate an 
access request with zero tokens and ultimately get somewhere.

We'll be demoing this whole thing next Wednesday in the webinar, including the 
dynamic client reg, the PAT, AAT, and RPT, the UX for the various parties 
interacting with systems, and even interesting app-level enhancements like 
notifying Alice that Bob has made an access attempt and inviting her to set up 
policies that let him in.

        Eve

On 10 Oct 2012, at 3:35 PM, Prabath Siriwardena <prab...@wso2.com> wrote:

> Hi Eve,
> 
> I have gone through UMA spec but failed to find any case which covers this 
> scenario - in a resource owner initiated manner..
> 
> Can you please give some pointers..?
> 
> Thanks & regards,
> -Prabath
> 
> On Wed, Oct 10, 2012 at 3:20 PM, Eve Maler <e...@xmlgrrl.com> wrote:
> There are a number of implicit actions happening here that ideally should be 
> accounted for. If Alice is the RO and Bob is operating the client, then when 
> Bob accesses the protected resource it may not just be "on Alice's behalf" -- 
> think of how people share calendar read/write access with other people today. 
> Those with delegated access act on their own behalf, with the RO's 
> permission. So the tuple represented by the access token is actually quite a 
> bit bigger than usual.
> 
> Since OAuth makes a simplifying assumption that gets it entirely out of this 
> sort of business, the process of trying to shoehorn this use case into a 
> single plain OAuth flow may end badly. Better would be an explicit 
> recognition of the symmetry of Alice (with her user agent) on one side, and 
> bob with his client on the other side. Not to sound like a broken record, but 
> the UMA model takes this fully into account and has even gone a fair way down 
> the path of considering the contractual and legal implications of such 
> authorization.
> 
> Since the client (along with its operator) has to register on the AS side 
> anyway, having a clean model where it can do that without the RO's 
> synchronous presence would be ideal. Otherwise I suspect it's impractical in 
> normal use. 
> 
>       Eve
> 
> On 9 Oct 2012, at 6:49 PM, zhou.suj...@zte.com.cn wrote:
> 
>> 
>> Hi,Prabath 
>> 
>> 
>> Prabath Siriwardena <prab...@wso2.com>
>> 2012-10-09 20:35
>> 
>> 收件人
>> zhou.suj...@zte.com.cn
>> 抄送
>> Eve Maler <e...@xmlgrrl.com>, oauth@ietf.org, oauth-boun...@ietf.org
>> 主题
>> Re: Re: Re: Re: [OAUTH-WG] Resource owner initiated OAuth delegation
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> On Mon, Oct 8, 2012 at 6:24 PM, <zhou.suj...@zte.com.cn> wrote: 
>> 
>> Hi, Prabath 
>>  
>>  My question is since client-id is public, then it is a waste to get it by 
>> granting an access-token. 
>>  And in step 2."Resource Owner grants access to a selected Client", RO  
>> logins in to select clients to be delegated, 
>> and RS redirects RO to AS to grant access token to client, to my 
>> understanding, in this process RO needs to authenticate to RS and then 
>> authenticate 
>> to AS, it is a bit complicated. 
>> 
>> In fact I did not want to disturb normal OAuth flow.. BTW yes.. it adds some 
>> overhead.. So - I would like to modify it - where the Resource Server sends 
>> the resource_owner_initiated as the scope - and based on the scope AS 
>> returns back client_id together with the access_token it self. 
>>   
>> 
>>  I wonder if the following two processes could satisfy your case: 
>> 
>> Process One: 
>> 1. Resource Owner registers to-be-delegated clients and corresponding RSs at 
>> AS, i.e., a long term delegation contract is stored at AS 
>> 
>> 2. When Resource Owner requests Client to access its resource at RS, Client 
>> is directed by RS to AS to obtain access-token 
>> 3. Client accesses the protected resource on behalf of the Resource Owner. 
>> 
>> Process Two: 
>> 1. RO registers to-be-delegated clients at RS, i.e., a long term delegation 
>> contract is stored at RS 
>> 2. When Resource Owner requests Client to access its resource at RS, Client 
>> is directed by RS to AS to obtain access-token,AS may request RO to 
>> authenticate and confirm the 
>> access-token request 
>> 3. Client accesses the protected resource on behalf of the Resource Owner.   
>> 
>> 
>> There needs to be an step to facilitate client registration. 
>> Client could have registered at AS. 
>> RO just select clients from available clients list. 
>> This facilitating step still needed? 
>> 
>> Thanks & regards, 
>> -Prabath 
>>   
> 
> 
> Eve Maler                                  http://www.xmlgrrl.com/blog
> +1 425 345 6756                         http://www.twitter.com/xmlgrrl
> 
> 
> 
> 
> 
> -- 
> Thanks & Regards,
> Prabath
> 
> Mobile : +94 71 809 6732 
> 
> http://blog.facilelogin.com
> http://RampartFAQ.com
> 


Eve Maler                                  http://www.xmlgrrl.com/blog
+1 425 345 6756                         http://www.twitter.com/xmlgrrl


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

Reply via email to