+1 to defining RS-AS interactions. We've implemented such a 'token introspection' endpoint in our AS and I'm be happy to no longer need to explain to customers/partners why it's not part of the standard.

As input, an (incomplete) spec for our endpoint enclosed. (we modeled the verification as a new grant type, leveraging as much as possible the existing token endpoint API)

Wrt the 5 item limit

1) is this an arbitrary #? if people sign up to work on more items, could it be extended? 2) the use cases document seems already well progressed (and informational). Need it count against the 5?

paul

On 3/14/12 5:53 PM, Richer, Justin P. wrote:
Methods of connecting the PR to the AS are something that several groups have 
invented outside of the OAuth WG, and I think we should try to pull some of 
this work together. OAuth2 gives us a logical separation of the concerns but 
not a way to knit them back together.

Proposals for inclusion in the discussion include UMA's Step 3, OpenID Connect's CheckID, 
and several "token introspection" endpoints in various implementations.

  -- Justin

On Mar 14, 2012, at 4:21 PM, Hannes Tschofenig wrote:

So, here is a proposal:

-------

Web Authorization Protocol (oauth)

Description of Working Group

The Web Authorization (OAuth) protocol allows a user to grant
a third-party Web site or application access to the user's protected
resources, without necessarily revealing their long-term credentials,
or even their identity. For example, a photo-sharing site that supports
OAuth could allow its users to use a third-party printing Web site to
print their private pictures, without allowing the printing site to
gain full control of the user's account and without having the user
sharing his or her photo-sharing sites' long-term credential with the
printing site.

The OAuth protocol suite encompasses
* a procedure for allowing a client to discover a resource server,
* a protocol for obtaining authorization tokens from an authorization
server with the resource owner's consent,
* protocols for presenting these authorization tokens to protected
resources for access to a resource, and
* consequently for sharing data in a security and privacy respective way.

In April 2010 the OAuth 1.0 specification, documenting pre-IETF work,
was published as an informational document (RFC 5849). With the
completion of OAuth 1.0 the working group started their work on OAuth 2.0
to incorporate implementation experience with version 1.0, additional
use cases, and various other security, readability, and interoperability
improvements. An extensive security analysis was conducted and the result
is available as a stand-alone document offering guidance for audiences
beyond the community of protocol implementers.

The working group also developed security schemes for presenting authorization
tokens to access a protected resource. This led to the publication of
the bearer token as well as the message authentication code (MAC) access
authentication specification.

OAuth 2.0 added the ability to trade a SAML assertion against an OAUTH token 
with
the SAML 2.0 bearer assertion profile.  This offers interworking with existing
identity management solutions, in particular SAML based deployments.

OAuth has enjoyed widespread adoption by the Internet application service 
provider
community. To build on this success we aim for nothing more than to make OAuth 
the
authorization framework of choice for any Internet protocol. Consequently, the
ongoing standardization effort within the OAuth working group is focused on
enhancing interoperability of OAuth deployments. While the core OAuth 
specification
truly is an important building block it relies on other specifications in order 
to
claim completeness. Luckily, these components already exist and have been 
deployed
on the Internet. Through the IETF standards process they will be improved in
quality and will undergo a rigorous review process.

Goals and Milestones

[Editor's Note: Here are the completed items.]

Done    Submit 'OAuth 2.0 Threat Model and Security Considerations' as a 
working group item
Done    Submit 'HTTP Authentication: MAC Authentication' as a working group item
Done    Submit 'The OAuth 2.0 Protocol: Bearer Tokens' to the IESG for 
consideration as a Proposed Standard
Done    Submit 'The OAuth 2.0 Authorization Protocol' to the IESG for 
consideration as a Proposed Standard

[Editor's Note: Finishing existing work. Double-check the proposed dates - are 
they realistic?]

Jun. 2012       Submit 'HTTP Authentication: MAC Authentication' to the IESG 
for consideration as a Proposed Standard
Apr. 2012       Submit 'SAML 2.0 Bearer Assertion Profiles for OAuth 2.0' to 
the IESG for consideration as a Proposed Standard
Apr. 2012  Submit 'OAuth 2.0 Assertion Profile' to the IESG for consideration 
as a Proposed Standard
Apr. 2012  Submit 'An IETF URN Sub-Namespace for OAuth' to the IESG for 
consideration as a Proposed Standard
May 2012    Submit 'OAuth 2.0 Threat Model and Security Considerations' to the 
IESG for consideration as an Informational RFC

[Editor's Note: New work for the group. 5 items maximum! ]

Aug. 2012    Submit 'Token Revocation' to the IESG for consideration as a 
Proposed Standard

[Starting point for the work will be 
http://datatracker.ietf.org/doc/draft-lodderstedt-oauth-revocation/]

Nov. 2012    Submit 'JSON Web Token (JWT)' to the IESG for consideration as a 
Proposed Standard

[Starting point for the work will be 
http://tools.ietf.org/html/draft-jones-json-web-token]

Nov. 2012    Submit 'JSON Web Token (JWT) Bearer Token Profiles for OAuth 2.0' 
to the IESG for consideration as a Proposed Standard

[Starting point for the work will be 
http://tools.ietf.org/html/draft-jones-oauth-jwt-bearer]

Jan. 2013    Submit 'OAuth Dynamic Client Registration Protocol' to the IESG 
for consideration as a Proposed Standard

[Starting point for the work will be 
http://tools.ietf.org/html/draft-hardjono-oauth-dynreg]

Sep. 2012    Submit 'OAuth Use Cases' to the IESG for consideration as an 
Informational RFC

[Starting point for the work will be 
http://tools.ietf.org/html/draft-zeltsan-oauth-use-cases]



_______________________________________________
OAuth mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/oauth
_______________________________________________
OAuth mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/oauth


                                                               P. Madsen
Internet-Draft                                       Ping Identity Corp.
Intended status: Informational                                 June 2011
Expires: December 3, 2011


           OAuth Authorization Server Verification Interface
                            verification.xml

Abstract

   This specification defines an interface by which a Resource Server,
   upon receiving an access token on a call from a Client, can verify
   with the issuing Authorization Server that the token is valid, and
   optionally, retrieve identity attributes associated with the
   corresponding Client and/or Resource Owner.

Status of this Memo

   This document is an Internet-Draft and is subject to all provisions
   of Section 3 of RFC 3667.  By submitting this Internet-Draft, each
   author represents that any applicable patent or other IPR claims of
   which he or she is aware have been or will be disclosed, and any of
   which he or she become aware will be disclosed, in accordance with
   RFC 3668.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on December 3, 2011.














Madsen                  Expires December 3, 2011                [Page 1]

Internet-Draft         Ping Identity Verification              June 2011


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
     1.1.  Notational Conventions  . . . . . . . . . . . . . . . . . . 3
   2.  Access Token Validation Request/Response  . . . . . . . . . . . 3
     2.1.  RS sends Validation Request . . . . . . . . . . . . . . . . 4
     2.2.  Validation Server sends Response  . . . . . . . . . . . . . 4
     2.3.  Example (non-normative) . . . . . . . . . . . . . . . . . . 5
   Appendix A.  Contributors . . . . . . . . . . . . . . . . . . . . . 6
   Appendix B.  Document History . . . . . . . . . . . . . . . . . . . 6
   3.  Normative References  . . . . . . . . . . . . . . . . . . . . . 6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . . . 6
   Intellectual Property and Copyright Statements  . . . . . . . . . . 7






































Madsen                  Expires December 3, 2011                [Page 2]

Internet-Draft         Ping Identity Verification              June 2011


1.  Introduction

   The OAuth 2.0 Authorization Protocol [I-D.ietf.oauth-v2] provides a
   method for making authenticated HTTP requests to a resource hosted by
   some Resource Server using an access token.  Access tokens are issued
   to third-party clients by an Authorization Server with the (sometimes
   implicit) approval of the resource owner.

   Depending on the nature of the access token, a Resource Server may
   not be able to directly verify/validate the access token and may need
   to interact with an Authorization Server in order to verify the
   token.

   This specification defines an interface by which a Resource Server,
   upon receiving an access token on a call from a Client, can verify
   with the issuing Authorization Server that the token is valid, and
   optionally, retrieve identity attributes associated with the
   corresponding Client and/or Resource Owner

1.1.  Notational Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

   Unless otherwise noted, all the protocol parameter names and values
   are case sensitive.


2.  Access Token Validation Request/Response

   A Resource Server validates an access token by sending the token to
   an Authorization Server - as shown below.

   The validation endpoint interface profiles and extends that of the
   OAuth [I-D.ietf.oauth-v2] token endpoint, by defining a unique grant
   type and a format for the returned token.



        +--------+                                  +---------------+
        |        |                                  |               |
        |Resource|>--(A)----- access token    ----->| Authorization |
        | Server |                                  |     Server    |
        |        |<--(B)---- y/n + attributes  ----<|               |
        |        |                                  |               |
        +--------+                                  +---------------+




Madsen                  Expires December 3, 2011                [Page 3]

Internet-Draft         Ping Identity Verification              June 2011


            Figure 1: Access Token Validation Request/Response

   The request/response flow illustrated in Figure 1 includes the
   following steps:

   (A)  The RS sends an access token validation request to the
        Authorization Server that includes an access token and a
        grant_type of
        "urn:pingidentity.com:oauth2:grant_type:validate_bearer".

   (B)  The Authorization Server validates the access token and returns
        a list of attributes associated with the access token, formatted
        as JSON.

2.1.  RS sends Validation Request

   The client calls the Authorization Server with an access token
   request, the core details of which are defined in OAuth
   [I-D.ietf.oauth-v2] and by adding the following parameters:

   grant_type
         REQUIRED.  A value of
         "urn:pingidentity.com:oauth2:grant_type:validate_bearer"

   token
         REQUIRED.  The value of the access token for which validation
         is sought.

2.2.  Validation Server sends Response

   If validation was successful, the Authorization Server responds with
   a JSON formatted data structure with the following parameters at the
   top-level.

   token_type
         REQUIRED.  A value of 'ping_validated_token' indicates the
         access token was successfully validated.

   expires_in
         OPTIONAL.  The duration in seconds of the returned attributes.

   client_id
         OPTIONAL.  The client identifier of the client to whom the
         grant was originally issued.







Madsen                  Expires December 3, 2011                [Page 4]

Internet-Draft         Ping Identity Verification              June 2011


   access_token
         OPTIONAL.  A set of attributes.

   If validation was not successful, the Authorization Server responds
   with an OAuth error response with an error code of 'invalid grant'.

2.3.  Example (non-normative)

   The following examples illustrate access token validation request and
   responses.


GET 
/as/token.oauth2?client_id=a&client_secret=pwd&grant_type=urn:pingidentity.com:oauth2:grant_type:validate_bearer&token=5mZkmAoN6JjHREneyC7EuY8WdzGm1aRJaXT
 HTTP/1.1
Host: authz.example.net


                       Figure 2: Example GET Request



   HTTP/1.1 200 OK
   Content-Type: application/json; charset=UTF-8

   {"token_type":"ping_validated_token",
    "expires_in":"3600",
    "client_id":"a",
    "access_token":
       {"uid":"john",
        "fake-email":"[email protected]"}}


                   Figure 3: Example Successful Response



   HTTP/1.1 400 Bad Request
   Content-Type: application/json; charset=UTF-8

   {"error":"invalid_grant",
    "error_description":"token not found, expired or invalid"}


                  Figure 4: Example Unsuccessful Response








Madsen                  Expires December 3, 2011                [Page 5]

Internet-Draft         Ping Identity Verification              June 2011


Appendix A.  Contributors

   folks


Appendix B.  Document History

   [[ to be removed by RFC editor before publication as an RFC ]]


3.  Normative References

   [I-D.ietf.oauth-v2]
              Hammer-Lahav, E., Ed., Recordon, D., and D. Hardt, "The
              OAuth 2.0 Authorization Protocol",
              ID draft-ietf-oauth-v2-16 (work in progress), July 2011.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.


Author's Address

   Paul Madsen
   Ping Identity Corp.

   Email: [email protected]
























Madsen                  Expires December 3, 2011                [Page 6]

Internet-Draft         Ping Identity Verification              June 2011


Full Copyright Statement

   Copyright (C) The IETF Trust (2011).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   [email protected].











Madsen                  Expires December 3, 2011                [Page 7]

_______________________________________________
OAuth mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to