Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-revocation-00.txt

2012-06-07 Thread Stefanie Dronia
Hi,

I would prefer to keep the section general as Michiel suggested. Name it 
'Cross-Origin support' and list CORS ans JSONP as examples. 

Could it be possible that other methods for Cross-origin support might come up 
in future? They would not be excluded than.

- Stefanie

 Original-Nachricht 
> Datum: Thu, 07 Jun 2012 17:40:48 +0200
> Von: Torsten Lodderstedt 
> An: Michiel de Jong 
> CC: oauth@ietf.org, Marius Scurtescu , Stefanie Dronia 
> 
> Betreff: Re: [OAUTH-WG] I-D Action: draft-ietf-oauth-revocation-00.txt

> Hi Michiel,
> 
> I'm fine with both suggestions (also mentioning CORS or not mentioning 
> JSONP). What do my co-authors and other WG members think?
> 
> regards,
> Torsten.
> 
> Am 29.05.2012 14:10, schrieb Michiel de Jong:
> > Hi Torsten,
> >
> > No, it should indeed work fine with CORS. CORS is supported by IE8+,
> > FF, Chrome, Safari and Opera12+ (with limited error handling and
> > limited verb support in IE8 and IE9, but with POST you should be safe
> > afaik).
> >
> > Note that if you want to support this in combination with implicit
> > grant flow (unhosted html5 apps), then you need CORS.
> >
> > Which made me wonder why you are mentioning JSONP at all? Mentioning
> > JSONP as a 'MAY' but not mentioning CORS could send people in the
> > wrong direction IMO. So I would rename the section 'JSONP' to 'CORS
> > and JSONP', or in general, 'Cross-Origin support', and then start with
> > a sentence like:
> >
> > "The revokation end-point SHOULD support CORS if it is aimed at use in
> > combination with the implicit-grant flow. For other flows, it is still
> > recommended(?) to support CORS. In addition, for interop with legacy
> > user-agents, it MAY offer JSONP. Clients should be aware that when
> > relying on JSONP, the revokation end-point MAY ;) inject malicious
> > code into the client."
> >
> > You can tell i don't speak spec lingo, but i hope i'm sort of getting
> > my point across, that IMO, CORS is better here than JSONP.
> >
> > Or: simply not mention JSONP at all. Would that be an option?
> >
> >
> > Cheers,
> > Michiel
> >
> > On Sun, May 27, 2012 at 3:05 PM, Torsten Lodderstedt
> >   wrote:
> >> Hi Michiel,
> >>
> >> shouldn't the revocation POST request work fine with CORS? Or is there
> >> something we need to specify in order to make it work?
> >>
> >> best regards,
> >> Torsten.
> >>
> >> Am 27.05.2012 13:20, schrieb Michiel de Jong:
> >>
> >>> awesome! just that - first thing that catches the eye right when you
> >>> skim the table of contents is:
> >>>
> >>> why did you use JSONP instead of its CORS? You can read more about
> CORS
> >>> here:
> >>>
> >>> http://enable-cors.org/
> >>>
> >>>
> http://en.wikipedia.org/wiki/Cross-origin_resource_sharing#CORS_relationship_to_JSONP
> >>>
> >>> On Sun, May 27, 2012 at 10:41 AM,wrote:
> >>>> A New Internet-Draft is available from the on-line Internet-Drafts
> >>>> directories. This draft is a work item of the Web Authorization
> Protocol
> >>>> Working Group of the IETF.
> >>>>
> >>>> Title   : Token Revocation
> >>>> Author(s)   : Torsten Lodderstedt
> >>>>   Stefanie Dronia
> >>>>   Marius Scurtescu
> >>>> Filename: draft-ietf-oauth-revocation-00.txt
> >>>> Pages   : 6
> >>>> Date: 2012-05-26
> >>>>
> >>>>This draft proposes an additional endpoint for OAuth authorization
> >>>>servers for revoking tokens.
> >>>>
> >>>>
> >>>>
> >>>> A URL for this Internet-Draft is:
> >>>>
> http://www.ietf.org/internet-drafts/draft-ietf-oauth-revocation-00.txt
> >>>>
> >>>> Internet-Drafts are also available by anonymous FTP at:
> >>>> ftp://ftp.ietf.org/internet-drafts/
> >>>>
> >>>> This Internet-Draft can be retrieved at:
> >>>> ftp://ftp.ietf.org/internet-drafts/draft-ietf-oauth-revocation-00.txt
> >>>>
> >>>> The IETF datatracker page for this Internet-Draft is:
> >>>> https://datatracker.ietf.org/doc/draft-ietf-oauth-revocation/
> >>>>
> >>>> ___
> >>>> 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

-- 
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] Versioning

2010-07-08 Thread Stefanie Dronia
Hi,

 I  took a look at the OAuth 1 Bridge Flow suggested by 
Marius, the thread "OAuth 1  Bridge Flow" and had some thoughts:

 I  do not really see the necessity for such a flow.   
 

First of all, all participating parties have to be modified and  rolled 
out:

-  the consumer's application to support (at least) the bridge flow (and 
OAuth 2  [1]),

-  the authz server to provide OAuth 2  and additionally the bridge flow  
and

-  the resource server to handle OAuth2.

Then, sometime later, when at least the authz server doesn't support  OAuth 
1 anymore, the client application and the resource server should be  
cleared up - no more OAuth 1, only OAuth 2. Again a new version to roll  
out.

 The only (small) benefit I see, is that the user will not be 
asked  for authorization again.

But is it worth it to develop, implement and roll out a Bridge Flow?  I do 
not think so - too much expense for a small user  interaction.

Better: directly go to OAuth 2, when it is  needed.

 The other thing I'm missing, is how to migrate completely to 
OAuth 2  after performing the bridge flow. Issuing a refresh token in the 
response seems  necessary. But this issue was still mentioned (but not 
solved) in the thread  "OAuth 1 Bridge Flow" by Eran.

  Thanks,

Steffi

 [1] if OAuth 2 will not be supported, a new modified client 
has to be  rolled out at the latest, the resource server doesn't support 
OAuth 1  anymore.

 
>  Original-Nachricht 
> Datum: Tue, 6 Jul 2010 21:54:16 -0700
> Von: Marius Scurtescu 
> An: Rob Richards 
> CC: "oauth@ietf.org" 
> Betreff: Re: [OAUTH-WG] Versioning
> 
> On Sat, Jul 3, 2010 at 3:27 AM, Rob Richards 
>  wrote:
> > Eran Hammer-Lahav wrote:
> >>
> >> Hi Rob,
> >>
> >> I agree with you that a migration spec is important - please write 
> one.
> >>
> >
> > Like I didn't see that coming :)
> 
> I would like to help with this migration spec. Is this a good starting 
> point:
> http://www.ietf.org/mail-archive/web/oauth/current/msg02300.html
> 
> Or, you had something else in mind?
> 
> Marius
> ___
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

-- 
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
___
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth


Re: [OAUTH-WG] Versioning

2010-07-09 Thread Stefanie Dronia

Hallo Marius,

thanks for your statement.
Your idea of a migration flow is quite good and necessary.

But I still doubt, if the work and effort should be investigated to 
spare the user from some interaction (authentication and user consent).
Latest he will be asked for his consent at the time, the refresh token 
expired (as long as the refresh token has a limited validity period [1]) 
and a new one is requested.


With the additional aspects (OAuth 2 refresh token returned, OAuth 1 
access token revoked), the flow might only be performed once?
By the way, the revoke of the OAuth 1 token should not be optionally, 
but a must IMO. By that way, the consumer is enforced to process with 
OAuth 2 flows.


Have a nice weekend!
Steffi

[1] That a refresh token has a limited validity period is not defined in 
the spec. But the authz server should be able to invalidate it.
E.g. when the refresh token is issued, a long, but limited validity 
period is assigned to it. Each time, new access token(s) are requested 
with the refresh token as access grant, the refresh token's validity 
period is extended. If not, it gets invalid reaching the assigned limit. 
This flow represents the user's usage of the consumers application. 
(Quasi) Infinitely valid refresh token at continuous usage of the 
consumers application. Limited validity at rare or no usage. Revocation 
of the granted access is done automatically w/o user intervention.




Am 08.07.2010 20:26, schrieb Marius Scurtescu:

The bridge flow was meant to be used in a mixed OAuth 1 and OAuth 2
environment, it allows the consumer to obtain a token using signatures
and then access protected resources with no signatures. Now that
signatures are re-introduced in OAuth 2 I don't think there is a need
for such an approach.

That being said, migration can be done very similarly, differences
from the bridge flow:
- an OAuth 2 refresh token is also returned
- optionally the OAuth 1 token is revoked

Such a migration flow would allow a consumer/client that has OAuth 1
access tokens saved for its users to convert all of them to OAuth 2
refresh tokens without involving the users.

Marius



On Thu, Jul 8, 2010 at 4:05 AM, Stefanie Dronia  wrote:
   

Hi,



I took a look at the OAuth 1 Bridge Flow suggested by Marius, the thread
"OAuth 1 Bridge Flow" and had some thoughts:



I do not really see the necessity for such a flow.

First of all, all participating parties have to be modified and rolled out:

- the consumer's application to support (at least) the bridge flow (and
OAuth 2 [1]),

- the authz server to provide OAuth 2  and additionally the bridge flow and

- the resource server to handle OAuth2.

Then, sometime later, when at least the authz server doesn't support OAuth 1
anymore, the client application and the resource server should be cleared up
- no more OAuth 1, only OAuth 2. Again a new version to roll out.



The only (small) benefit I see, is that the user will not be asked for
authorization again.

But is it worth it to develop, implement and roll out a Bridge Flow? I do
not think so - too much expense for a small user interaction.

Better: directly go to OAuth 2, when it is needed.



The other thing I'm missing, is how to migrate completely to OAuth 2 after
performing the bridge flow. Issuing a refresh token in the response seems
necessary. But this issue was still mentioned (but not solved) in the thread
"OAuth 1 Bridge Flow" by Eran.





Thanks,

Steffi



[1] if OAuth 2 will not be supported, a new modified client has to be rolled
out at the latest, the resource server doesn't support OAuth 1 anymore.



 Original-Nachricht 
Datum: Tue, 6 Jul 2010 21:54:16 -0700
Von: Marius Scurtescu
An: Rob Richards
CC: "oauth@ietf.org"
Betreff: Re: [OAUTH-WG] Versioning

On Sat, Jul 3, 2010 at 3:27 AM, Rob Richards
wrote:
 

Eran Hammer-Lahav wrote:
   

Hi Rob,

I agree with you that a migration spec is important - please write one.

 

Like I didn't see that coming :)
   

I would like to help with this migration spec. Is this a good starting
point:
http://www.ietf.org/mail-archive/web/oauth/current/msg02300.html

Or, you had something else in mind?

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


--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
 
   

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


Re: [OAUTH-WG] Proposal for OAuth dynamic client registration

2010-08-11 Thread Stefanie Dronia

Hallo Eve,

I read your proposal, too. Thanks for providing it.

Some questions:
# first part of chapter 2
# enchanced OAuth RS, AS and client are mentioned. Does the 
enhancement just denote, that they support dynamic client registration 
or have any further requirements to be fulfilled by them?
# The text is "... use an access token in approximately the normal 
OAuth fashion,...": What do you mean by "approximately" in this context? 
As far as I understood, after client registration, OAuth flows are 
performed as defined.
# For registration, the client has to give its URL (parameter client_url 
in registration request). May it be used later for OAuth callback url, 
e.g. if client registration with pushed metadata is selected?


And just a typo: Example chapter 7.1: "url" instead of "client_url" is 
printed.


Regards,
Stefanie

Am 10.08.2010 21:31, schrieb Eve Maler:

Folks-- The UMA group has produced the following I-D as input to the OAuth 
discovery/registration/binding discussion.  We wanted to set forth our 
requirements (knowing that there may be other requirements from the wider 
community) and propose some solutions that meet them.  If further discussion 
seems to warrant an updating of this draft, we're happy to do that.  (If you 
have interest in getting involved in UMA-specific work, feel free to drop me a 
note.)

Eve

http://www.ietf.org/id/draft-oauth-dyn-reg-v1-00.txt

Begin forwarded message:

   

From: IETF I-D Submission Tool
Date: 10 August 2010 12:23:59 PM PDT
To:e...@xmlgrrl.com
Cc:c...@comlounge.net,m.p.machu...@ncl.ac.uk
Subject: New Version Notification for draft-oauth-dyn-reg-v1-00


A new version of I-D, draft-oauth-dyn-reg-v1-00.txt has been successfully 
submitted by Eve Maler and posted to the IETF repository.

Filename:draft-oauth-dyn-reg-v1
Revision:00
Title:   OAuth Dynamic Client Registration Protocol
Creation_date:   2010-08-10
WG ID:   Independent Submission
Number_of_pages: 20

Abstract:
This specification proposes an OAuth Dynamic Client Registration
protocol.



The IETF Secretariat.


 

Eve Maler
http://www.xmlgrrl.com/blog
http://www.twitter.com/xmlgrrl
http://www.linkedin.com/in/evemaler

___
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


Re: [OAUTH-WG] Proposal for OAuth dynamic client registration

2010-08-12 Thread Stefanie Dronia

Hi Christian,

thanks for clarification.

Regards, Stefanie

Am 11.08.2010 18:22, schrieb Christian Scholz:

Hi!

Am 11.08.10 16:36, schrieb Stefanie Dronia:
   

Hallo Eve,

I read your proposal, too. Thanks for providing it.

Some questions:
# first part of chapter 2
 # enchanced OAuth RS, AS and client are mentioned. Does the
enhancement just denote, that they support dynamic client registration
or have any further requirements to be fulfilled by them?
 

These are mostly examples from the User Managed Access (UMA) Working
Group where we use components which have to do a bit more than simple
OAuth. Out of this came the need for dynamic client registration which
we thought might be useful in other OAuth contexts as well.

So regarding the actual client registration they do not need to have
further requirements other than the client registration capabilities
described. In the final version we might want to get rid of the UMA
specific text in order to prevent confusion.

   

 # The text is "... use an access token in approximately the normal
OAuth fashion,...": What do you mean by "approximately" in this context?
As far as I understood, after client registration, OAuth flows are
performed as defined.
 

Yes, again this relates to our UMA use cases where later on (after
client registration) those components need to do a bit more. For this
spec though this is irrelevant.

   

# For registration, the client has to give its URL (parameter client_url
in registration request). May it be used later for OAuth callback url,
e.g. if client registration with pushed metadata is selected?
 

Those parameters basically should represent what you otherwise would
enter into a registration form like http://dev.twitter.com/apps/new
Thus there probably need to be more fields in there but website url (or
client_url) and callback_url should probably be 2 different attributes.

The question regarding the client metadata is how much information
really is needed. For manual registration the server can ask as much as
it wants. For automatic registration I would like some basic set of
attributes, some maybe being optional. The question might be which ones
to take.


   

And just a typo: Example chapter 7.1: "url" instead of "client_url" is
printed.
 

Right, thanks!

-- Christian

   

Regards,
Stefanie

Am 10.08.2010 21:31, schrieb Eve Maler:
 

Folks-- The UMA group has produced the following I-D as input to the
OAuth discovery/registration/binding discussion.  We wanted to set
forth our requirements (knowing that there may be other requirements
from the wider community) and propose some solutions that meet them.
If further discussion seems to warrant an updating of this draft,
we're happy to do that.  (If you have interest in getting involved in
UMA-specific work, feel free to drop me a note.)

 Eve

http://www.ietf.org/id/draft-oauth-dyn-reg-v1-00.txt

Begin forwarded message:


   

From: IETF I-D Submission Tool
Date: 10 August 2010 12:23:59 PM PDT
To:e...@xmlgrrl.com
Cc:c...@comlounge.net,m.p.machu...@ncl.ac.uk
Subject: New Version Notification for draft-oauth-dyn-reg-v1-00


A new version of I-D, draft-oauth-dyn-reg-v1-00.txt has been
successfully submitted by Eve Maler and posted to the IETF repository.

Filename: draft-oauth-dyn-reg-v1
Revision: 00
Title: OAuth Dynamic Client Registration Protocol
Creation_date: 2010-08-10
WG ID: Independent Submission
Number_of_pages: 20

Abstract:
This specification proposes an OAuth Dynamic Client Registration
protocol.



The IETF Secretariat.



 

Eve Maler
http://www.xmlgrrl.com/blog
http://www.twitter.com/xmlgrrl
http://www.linkedin.com/in/evemaler

___
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


Re: [OAUTH-WG] survey: token revocation design options

2010-08-18 Thread Stefanie Dronia

Hi Torsten,

++2. No care about token formats or URL length problem.

-1: all options bring some problems along (as you already indicated). 
Additionally, an overloading of HTTP DELETE (as Igor mentioned) is not 
an option from my point of view. Every overloading would be deployment 
specific (or has to be defined by the OAuth spec???) and I doubt that it 
is possible to overload this method with widely-used frameworks.


-1c: Introduction of token ids: If a token is addressed by its ID, it is 
IMO not possible to verify in all cases that the client (who requests 
revocation/modification) is same client that the token was issued for 
before if the authorization server is stateless. So someone might catch 
a token and then revokes it.

May there be other security issues?
Another drawback is that the access token response has to be extended.

What kind of modifications of tokens do you have in mind? (as you 
commented with 1c)


Regards,
Stefanie


Am 16.08.2010 23:09, schrieb Torsten Lodderstedt:

Hi all,

I intend to submit a I-D for token revocation. Based on previous 
discussions on the mailing list and here at Deutsche Telekom, I see a 
couple of design options. I would like to share those options with the 
WG and try to reach consensus on a single option before investing the 
time to write the I-D.


1) HTTP Delete on tokens endpoint

DELETE seems a natural way for revoking (deleting) tokens. Although 
the HTTP spec is a bit vaque in this concern, current practice 
prohibits a body for DELETE requests. So the token must be addressed 
by the request's URI. Lets assume the token is passed as URI query 
parameter as follows:


 DELETE /tokens?refresh_token=8xLOxBtZp8&&&# HTTP/1.1
 Authorization: BASIC czZCaGRSa3F0Mzo4ZVNFSXBucW1N

But is it advisable to pass tokens as URI query parameters? The 
current character set definition for access tokens (§5.1.1) is not 
URL-safe since it includes URI reserved characters (e.g. '/'). 
Additionally, there is no definition of a refresh tokens character 
set. So compliant authorization servers could issue tokens, which 
cannot be safely passed as URI query parameters.


Note: As an additional challenge, self-contained tokens can be very 
large. So passing them as URI parameter may exceed URL length limits.


I see the following alternatives to cope with the encoding problem:

a) Force usage of a URL-safe character set for access and request tokens.
- rather restrictive, will most likely collide with existing token 
formats

- does not solve URL length problem

b) Force base64-URL-safe encoding for all tokens on transit.
- does not solve URL length problem
- significant API change

c) Authorization servers supporting revocation may additionally issue 
a URL-safe token id in the access token response. This id is used to 
reference the token in DELETE requests.


HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
{
  "access_token":"SlAV32hkKG/hhh/&%",
  "access_token_id":"234567890",
  "expires_in":3600,
  "refresh_token":"8xLOxBtZp8&&&#&",
  "refresh_token_id":"asdfghjklhgf"
}


 DELETE /tokens?refresh_token_id=asdfghjklhgf HTTP/1.1
 Authorization: BASIC czZCaGRSa3F0Mzo4ZVNFSXBucW1N

Note: Since tokens become addressable resources on the authz server, 
one could also query or modify token data using a GET/PUT requests


 GET /tokens?refresh_token_id=asdfghjklhgf HTTP/1.1
 Authorization: BASIC czZCaGRSa3F0Mzo4ZVNFSXBucW1N

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store

{
  "scope":"abc",
  "issued_on":"08/11/2010",
  "last_usage":"08/13/2010"   }


2) HTTP Post on dedicated revocation endpoint

An additional endpoint is used to revoke tokens. The token to be 
revoked is sent as request body parameter.


POST /revocation HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
Authorization: BASIC czZCaGRSa3F0Mzo4ZVNFSXBucW1N

refresh_token=n4E9O119d

This option requires some support for the client to discover the 
revocation endpoint.


Please indicate your prefered option (1a, 1b, 1c, and 2) or suggest 
additional design options.


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


Re: [OAUTH-WG] issuing new refresh tokens

2010-09-03 Thread Stefanie Dronia

 +1

Am 02.09.2010 19:42, schrieb Torsten Lodderstedt:

  +1

Am 02.09.2010 19:11, schrieb Eran Hammer-Lahav:

Is this reasonable?

"The authorization server MAY
 issue a new refresh token, in which case, the client 
MUST discard the old refresh

 token and replace it with the new refresh token."

This is as much consensus as I was able to extract.

EHL

-Original Message-
From: Torsten Lodderstedt [mailto:tors...@lodderstedt.net]
Sent: Wednesday, July 14, 2010 2:33 PM
To: Brian Eaton
Cc: Kris Selden; Eran Hammer-Lahav; OAuth WG
Subject: Re: [OAUTH-WG] issuing new refresh tokens


On Tue, Jul 13, 2010 at 9:58 PM, Torsten Lodderstedt
   wrote:


We plan to issue new refresh tokens for certain clients only (mobile,
desktop), it's part of the client-related policy. So the behavior 
for a particular client is predictable.



Nice.

Would you be willing to expand on the current spec language a bit, to
explain the use cases, and offer more normative language about how
clients should handle refresh token exchange?

This is a cool feature, but the current language is kind of vague.

Cheers,
Brian


I'm not sure what you would like me to write. But let's get started:

We expected the clients to discard the old refresh token and to use 
the newly issued refresh token instead. The old refresh tokens is 
revoked instantly. Any attempt to use it afterwards is interpreted as 
a potential misuse because the assumption would be that an adversary 
has copied the token or cloned the device. The client should notify 
the user of the problem and recommend him/her to check its 
application authorizations (refresh tokens) in our user self care 
portal. There, the user will have acces to information on when the 
token has been used the last time and therewith detect any odd 
behavior. The user could then revoke the token and/or alarm its 
providers helpdesk.


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


Re: [OAUTH-WG] I-D on token revocation submitted

2010-09-09 Thread Stefanie Dronia

 Hallo Torsten,

first of all thanks for providing this draft on the mailing list.
Except for the following words, the draft is consistent. It defines the 
end of a token's life cycle, intended by the user.


While reading it, I think that the following part of chapter 2 (Token 
Revocation) might cause problems a a certain situation:


"If the processed token is a refresh token and the authorization
   server supports the revocation of access tokens, then the
   authorization server must also invalidate all access tokens issued
   for that refresh token."

Situation:
Authz Server(s) and Resource Server(s) are separate systems that are set 
in an open triangle (no communication between them e.g. to verify access 
tokens).


Problem:
How does the Resource Server(s) know that an access token was revoked 
and is not valid to access resources any more?

=> Communication  between the servers necessary
=> benefit of open triangle architecture are lost for this case.
I think that this is a problem with large scale systems.

Although, if there are several Authz Server(s) , then there has to be 
communication between there or a shared data base to assure that revoked 
(refresh) tokens are invalid.


=> Is this requirement really a MUST?
I don't think so.

Any thoughts?

Regards,
Stefanie




Am 08.09.2010 00:21, schrieb Torsten Lodderstedt:

 I just submited the first version of my I-D for token revocation.

Link: 
https://datatracker.ietf.org/doc/draft-lodderstedt-oauth-revocation/


The I-D proposes an additional endpoint, which can be used to revoke 
both refresh and access tokens. The objective is to enhance OAuth 
security by giving clients and users explicite control of the 
finalization of the token life cycle, e.g. to implement application 
logout or access authorization removal.


Please take the time to review the document (2 pages, essentially) and 
give me feedback. My goal is that this draft becomes a working group 
document.


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


Re: [OAUTH-WG] I-D on token revocation submitted

2010-09-11 Thread Stefanie Dronia

 Hi Brain,

yes, you are right. I just went over that condition.

On the other hand, this implies to me, that access token revocation is 
not possible in a constellation as described before.


Regards,
Stefanie

Am 10.09.2010 00:38, schrieb Brian Campbell:

Isn't that kind of situation exactly the reason that access token
revocation was made optional?   Invalidation of access tokens on
revocation of a refresh token is only a MUST, if the deployment
already supports revocation of access tokens.  And if revocation of
access tokens is supported, I'd assume the deployment already has an
efficient means of invalidating them.

Editorial note: shouldn't the "must" in that text be a "MUST"?

On Thu, Sep 9, 2010 at 11:52 AM, Stefanie Dronia  wrote:

  Hallo Torsten,

first of all thanks for providing this draft on the mailing list.
Except for the following words, the draft is consistent. It defines the end of 
a token's life cycle, intended by the user.

While reading it, I think that the following part of chapter 2 (Token 
Revocation) might cause problems a a certain situation:

"If the processed token is a refresh token and the authorization
   server supports the revocation of access tokens, then the
   authorization server must also invalidate all access tokens issued
   for that refresh token."

Situation:
Authz Server(s) and Resource Server(s) are separate systems that are set in an 
open triangle (no communication between them e.g. to verify access tokens).

Problem:
How does the Resource Server(s) know that an access token was revoked and is 
not valid to access resources any more?
=>  Communication  between the servers necessary
=>  benefit of open triangle architecture are lost for this case.
I think that this is a problem with large scale systems.

Although, if there are several Authz Server(s) , then there has to be 
communication between there or a shared data base to assure that revoked 
(refresh) tokens are invalid.

=>  Is this requirement really a MUST?
I don't think so.

Any thoughts?

Regards,
Stefanie




Am 08.09.2010 00:21, schrieb Torsten Lodderstedt:

  I just submited the first version of my I-D for token revocation.

Link: https://datatracker.ietf.org/doc/draft-lodderstedt-oauth-revocation/

The I-D proposes an additional endpoint, which can be used to revoke both 
refresh and access tokens. The objective is to enhance OAuth security by giving 
clients and users explicite control of the finalization of the token life 
cycle, e.g. to implement application logout or access authorization removal.

Please take the time to review the document (2 pages, essentially) and give me 
feedback. My goal is that this draft becomes a working group document.

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


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


Re: [OAUTH-WG] Looking for a compromise on signatures and other open issues

2010-09-28 Thread Stefanie Dronia

 +1 to split the spec into multiple parts

Am 28.09.2010 08:25, schrieb Eran Hammer-Lahav:


(Please take a break from the other threads and read this with an open 
mind. I have tried to make this both informative and balanced.)


--- IETF Process

For those unfamiliar with the IETF process, we operate using rough 
consensus. This means most people agree and no one strongly objects. 
If someone strongly objects, it takes a very unified group to ignore 
that person, with full documentation of why the group chose to do so. 
That person can raise the issue again during working group last call, 
area director review, and IETF last call - each has the potential to 
trigger another round of discussions with a wider audience. That 
person can also appeal the working group decision before it is 
approved as an RFC.


The process is managed by the working group chairs. The chairs elect 
the editor and make consensus calls. So far this working group had 
only a few consensus calls (breaking the 1.0a RFC into two parts and 
dropping these in favor of a unified WRAP + 1.0a draft). From my 
experience and understanding of the process, this working group does 
not have rough consensus on any of the open items to make consensus 
calls and close the issues. Simply dismissing the few objections 
raised will not accomplish finishing the document sooner, but will 
only add more rounds of debates now and at a later time.


One of the problems we have is that we work without a charter. 
Usually, the charter is the most useful tool chairs have when limiting 
scope and closing debates. For example, had we fixed the charter last 
year to explicitly say that we will publish one document with both 
bearer tokens and signatures, the chairs could have ended this 
argument by pointing to the charter. Since we have no charter, the 
chairs have little to offer in terms of ending these disagreements. We 
never officially agreed what we are here to solve.


The reality of this working group is that we need to find a way to 
make everyone happy. That includes every one of those expressing 
strong opinions. Any attempt to push people around, dismiss their 
views, or reject reasonable compromises will just keep the issues 
open. If this small group cannot reach agreement, the specification 
will surely fall apart during working group last call, area director 
review, IETF last call, application area review, security area review, 
general area review, IANA review, and IESG review.


It’s a long process, and at each step, anyone can raise their hand and 
object. A united working group is the most important tool to end 
discussions over objections and concerns raised at each step. It also 
give people the confidence to implement a working group final draft 
before it is published as an RFC (because it is much less likely to 
change).


--- Open Issues

This working group has failed to reach consensus on a long list of 
items, among them are the inclusion of signatures, signatures format, 
use of HTTP authentication headers, restrictions on bearer tokens, 
support for specific profiles, etc. While many of these items faded 
away, I would not be surprise to see them all come back.


The current argument over signatures ignores compromises and 
agreements reached over the past two years. This working group 
explicitly rejected WRAP as the replacement for OAuth 1.0 and the 
whole point of combining 1.0a with WRAP was the inclusion of 
signatures. We reached another agreement to keep signatures at the 
Anaheim meeting. The current draft is a version of WRAP alone.


There are currently three separate threads going on:

1. OAuth 1.0a style signatures vs. JSON proposals

2. Including a signature mechanism in core

3. Concerns about bearer tokens and HTTPS

The first item will not be resolved because we are not going to reach 
industry consensus over a single signature algorithm (this is a 
general comment, not specific to these two proposals). The only thing 
we can do is let those who care about each solution publish their own 
specification and let the market decide.


The second item, while it was part of the very first compromise this 
working group made (when we combined the two specifications), cannot 
be resolved because of #1. We can’t agree on which signature method to 
include, and including all is not practical. For these reasons, 
including a signature algorithm in core is not likely to happen. I 
have made some proposals but they received instant negative feedback 
which means we have no consensus.


The third item has also been debated and blogged for a long time and 
is not going to be resolved in consensus. Instead, we will need to 
find the right language to balance security concerns with the reality 
that many providers are going to deploy bearer tokens no matter what 
the IETF says. The OAuth 1.0a RFC was blocked by the IESG until the 
PLAINTEXT method required HTTPS, and I would expect the same issue to 
come up with the current d