[Openid-specs-ab] Updated issue #539 with proposed text
George Fletcher
gffletch at aol.com
Thu Jul 5 13:24:28 UTC 2012
I've updated issue #539 (offline_access and refresh_tokens) with the
following proposed resolution. This propose does not prescribe a strict
behavior for when (or when not) to issue refresh_tokens. However, it
does provide a solution for the 'offline_access' concept and should
support all the behaviors current in the Google implementation.
Thanks,
George
Here is the URL to the issue:
https://bitbucket.org/openid/connect/issue/539/messages-0-add-scope-for-offline-access#comment-1630027
Here is the text of the update:
Updates to Messages draft:
2.1.2 add a new value for the scope list offline_access OPTIONAL. This
scope value requests that access to the user's data / services be
granted to the client even when the user is not present (no active
authentication session).
Updates to Standard draft:
2.3.1 add 'offline_access' to the list of scopes provided in the
description of the scope parameter
Description of offline_access behavior
If the client has requirements to access the user's data/services when
the user is not present (no active authentication session), then the
client must request 'offline_access' as one of the scope values and set
the prompt parameter to 'consent'. A user MUST always explicitly consent
to the return of an access token that contains the 'offline_access'
scope. A previously saved user consent is not sufficient to grant the
'offline_access' scope.
At receipt of a scope parameter containing the 'offline_access' value,
the Authorization Server:
* MUST ensure that the prompt parameter contains 'consent'. If the
prompt parameter is does not contain 'consent' then ignore the
'offline_access' request and and return a scope list to the client
that does NOT contain the 'offline_access' scope (per the OAuth2 spec)
* MUST ignore the request for 'offline_access' if the client is using
the "Implicit Flow", and return a scope list to the client that does
NOT contain the 'offline_access' scope (per the OAuth2 spec).
* MUST explicitly receive user consent for all clients where the
registered 'application_type' is set to 'web' [Discovery section 2.1]
* SHOULD explicitly receive user consent for all clients where the
registered 'application_type' is set to 'native' [Discovery section
2.1]
Offline access is granted to the client in the form of a refresh_token
that enables the client to request new access_tokens even when the user
does not have an active authentication session as per the OAuth2 spec.
The use of refresh_tokens is not exclusive to the 'offline_access' use
case and the Authorization Service MAY grant refresh_tokens in other
contexts as well.
My rationale for this approach:
1. No need to add "auto" and "force" to the prompt parameter as prompt
already has an allowed value of 'consent' which should suffice for
the 'force' option. I believe 'auto' should be the default and not
explicitly requested.
2. Add 'offline_access' to the scope list as this is also needed for
pure OAuth2 use cases and most authorization servers implementing
OpenID Connect will also want to support this use case for OAuth2 as
well.
3. Does not prescribe a strict behavior on when refresh_tokens are
issued. This allows the AS to determine if it wants to issue
refresh_tokens in the online use case as well as the offline use case.
4. Explicit user consent is a SHOULD because there are some native
client use cases where it's not necessary. For example, a client
created by the same company as the AS which the user must download
and install into the device. In this case, the user has given
"consent" by downloading and installing the application. Requesting
explicit user consent in this case is not necessary. The AS is
responsible for ensuring that only those clients that meet the
security requirements are enabled for this behavior.
--
Chief Architect AIM: gffletch
Identity Services Engineering Work: george.fletcher at teamaol.com
AOL Inc. Home: gffletch at aol.com
Mobile: +1-703-462-3494 Blog: http://practicalid.blogspot.com
Office: +1-703-265-2544 Twitter: http://twitter.com/gffletch
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-ab/attachments/20120705/9de94f03/attachment.html>
More information about the Openid-specs-ab
mailing list