Network Working Group                                             E. Pot
Internet-Draft                                              May 02, 2019
Intended status: Standards Track
Expires: November 3, 2019


               Link relationship types for authentication
                    draft-pot-authentication-link-00

Abstract

   This specification defines a set of relationships that may be used to
   indicate where a user may authenticate, log out, register a new
   account or find out who is currently authenticated.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   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 https://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 November 3, 2019.

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.





Pot                     Expires November 3, 2019                [Page 1]


Internet-Draft Link relationship types for authentication       May 2019


1.  Introduction

   [RFC8288] defines a framework and registry for Link Relationships
   types.  This specification defines a set of new relationship types to
   aid clients in discovering endpoints for authentication and
   registration: "authenticate", "authenticated-as", "logout" and
   "register-user".

2.  authenticate

   The "authenticate" can be used to link to a resource that hosts a
   page where a user can authenticate itself for the current resource.

   For example, this link might refer to a HTML login page.

   Example:

   <a href="/login" rel="authenticate">Login</a>

   This specification doesn't define the authentication protocol.  For
   example, the link could refer to an OAuth2 authorization endpoint.

3.  authenticated-as

   The "authenticated-as" link refers to a resource that describes the
   effective authenticated user for a HTTP response.

   Following this link might allow a client to answer the question 'who
   am I?'.  This might link to a user profile page, or it might link to
   an API that returns a JSON response with user information.

   Example:

   Link: <https://api.example.org/users/123-abc>; rel="authenticated-as"

4.  logout

   The "logout" refers to a resource where an authenticated user might
   end their session.

   In a browser this might clear cookies, or in the case of OAuth2 it
   could revoke any active authentication tokens.

5.  register-user

   The "register-user" Link Relation refers to a resource where a user
   might sign up for a service for the context URI.




Pot                     Expires November 3, 2019                [Page 2]


Internet-Draft Link relationship types for authentication       May 2019


   The linked resource might contain a HTML registration form, or
   otherwise instructions that allow a client to find out how to sign up
   for the service.

6.  IANA considerations

   This document defines "authenticate", "authenticated-as", "logout"
   and "register-user" link relation types and adds them to the "Link
   Relations" registry:

6.1.  authenticate link relation

   o  Relation name: authenticate

   o  Description: Refers to a resource where a client may authenticate
      for the the context URI.

   o  Reference: TBD

6.2.  authenticated-as link relation

   o  Relation name: authenticated-as

   o  Description: Refers to a resource that describes the authenticated
      entity for the HTTP response.

   o  Reference: TBD

6.3.  logout link relation

   o  Relation name: logout

   o  Description: Refers to an endpoint where a client may invalidate
      the current authentication session.

   o  Reference: TBD

6.4.  register-user link relation

   o  Relation name: register-user

   o  Description: Refers to a resource where a client may create a new
      user account for the context URI.

   o  Reference: TBD






Pot                     Expires November 3, 2019                [Page 3]


Internet-Draft Link relationship types for authentication       May 2019


7.  Normative References

   [RFC8288]  Nottingham, M., "Web Linking", RFC 8288,
              DOI 10.17487/RFC8288, October 2017,
              <https://www.rfc-editor.org/info/rfc8288>.

Appendix A.  Changelog

A.1.  Changes since -00

   *

Author's Address

   Evert Pot

   Email: me@evertpot.com
   URI:   https://evertpot.com/

































Pot                     Expires November 3, 2019                [Page 4]