Shane B Weeden <swee...@au1.ibm.com> schrieb:

>As I understand it, what you've described is precisely the intent of
>the
>refresh token. The online registration process you refer to is a
>corresponding one-time authorization code flow. The authorization code
>effectively becomes a one-time-use, short-lived credential for the
>client
>instance which it should use immediately (since it has been exposed to
>the
>resource owner via the user-agent in getting to the client) to directly
>request an access token (typically short-lived and may not be needed
>immediately) and refresh token (typically long-lived). The refresh
>token is
>stored securely locally. It is essentially an instance secret bound to
>the
>client id and representing the original resource owner grant. Provided:
>1. The resource owner and user-agent safely deliver the authorization
>code
>to the client instance in first place
>2. The client uses it immediately in secure transport-level
>communications
>to the authorization server and then securely stores the long-lived
>refresh
>token
>3. The client always uses the refresh token in secure transport-level
>communications to the authorization server to get an access token (and
>optionally rollover the refresh token)
>.. then securely authenticating the client doesn't seem to be a big
>deal.
>
>I trust "the list" will correct me if that's a wrong interpretation of
>a
>classic native app scenario.

I fully agree with your description.

>
>It still leads to my question from some posts ago about why then is it
>advantageous to require client authentication at all for the
>authorization
>code flow in classic web app three-legged scenarios, and I am yet to
>fully
>digest Torsten's response to that (
>http://tools.ietf.org/html/draft-lodderstedt-oauth-security-01).

I hope it was delicious :-). 
Pls. note: Mark & Phil were involved as well.

About
>the
>only documented advantage I've seen to date has to do with the
>recovery/next steps from a compromised refresh token, but the
>usefulness of
>that idea has been debated as well.

In my opinion, there are the following advantages:
- the user can be provided with trustworthy information about the client
- the authentication is a further measure against guessing attacks on authz 
codes and refresh tokens (beside high entropy and short duration)
- it might make token theft more difficult given the secret is stored 
somewhere/somehow else than the refresh tokens

regards,
Torsten.

>
>
>
>
>
>From:  Dave Nelson <dnel...@elbrys.com>
>To:    Brian Eaton <bea...@google.com>
>Cc:    "oauth@ietf.org" <oauth@ietf.org>
>Date:  17-06-11 09:45 PM
>Subject:       Re: [OAUTH-WG] Client authentication requirement
>Sent by:       oauth-boun...@ietf.org
>
>
>
>> If you aren't willing to accept the risk of native apps that can't
>keep
>> secrets, don't support such apps.
>
>We continue to say "can't keep secrets". I think what we mean is
>"can't keep secrets that are embedded in the code". One could imagine
>an install-time, leap-of-faith binding to a remotely received secret,
>via some on-line registration process, that the native app asks the
>operating system to store for it securely. The user can make an
>assertion of trust in the validity of the app that he/she has
>downloaded and is subsequently installing. Of course, that initial
>faith might be misplaced, but that's true of almost all
>user-installable software, even that receive on physical media. If
>browsers are trusted to store secrets securely, then that same
>capability is available to native apps.
>
>Regards,
>
>Dave
>
>David B. Nelson
>Sr. Software Architect
>Elbrys Networks, Inc.
>www.elbrys.com
>+1.603.570.2636
>_______________________________________________
>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

Reply via email to