Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

 

 

Client Registration

  1. Clients MAY indicate the required Authentication context “acr” as part of the client registration process or dynamically as part of a Connect Authorization request.
    1. Trust frameworks using this profile SHOULD use short names for Authentication Contexts that are registered in the IANA registry,   Full URI may also be used as names, but are not recommended.
  2. Clients and Personally Identifiable Information (PII)
    1. The Authorization Server MUST prompt the Resource Owner to explicitly accept all scope parameters requested by the Client.  The Authorization Server must ignore any scope parameters received from the Client which the Resource Owner  forbidden by the Resource Owner. The Authorization server MAY cache authorization for a client across sessions to avoid re-prompting the user for consent already granted.
  3. The Authorization Server must provide a way during registration for Clients to register the following:
    1. Authentication time claim in the id_token is REQUIRED:  (require_auth_time) True/False
    2. Maximum Authentication Age:  (default_max_age) Specifies that the End-User MUST be actively authenticated if the End-User was authenticated longer ago than the specified number of seconds. The max_age request parameter overrides this default value. If omitted, no default Maximum Authentication Age is specified.
    3. A grant_type of refresh_token is prohibited in this profile. (This was in the GSA profile but, I can't think of a good reason to prohibit it.)

Identity Assertions

  1.  The Authorization Server MUST utilize the method in Sec 3.1 of OpenID Connect Core to return an assertion to the Client. 
  2. The Authorization Server MUST provide a JWT id_token which provides the following claims to the Client about the individual granting authorization (Resource Owner).
    1. Issuer Name:  “iss” The domain of the Authorization Server such that when paired with the user identifier creates a globally unique identifier. 
      1. The issuer name SHOULD be an https: scheme URI and MUST be under the control of the Authorization Server.
    2. User Identifier:  “sub” A persistent identifier for the Resource Owner granting authorization to the Client to access the authentication information endpoint. 
      1. The User Identifier MUST be a unique, opaque and not re-assignable identifier for the user. 
    3. Audience Restriction:  “aud” specifies the Client for whom the identity information is intended. 
      1. The Audience Restriction MUST be the client_id of the Client requesting the authentication.
    4. Issuance Time Stamp : “iat” The time that the Authorization Server issued the identity assertion.
    5. Nonce:  “nonce” A value tying the identity assertion to a browser session.
  3. The Authorization Server SHOULD include the following claims in the Identity Assertion:
    1. Expiration Time Stamp: The time after which the identity assertion is no longer valid.
    2. Authentication Context: The Authentication Context Class reference for the authentication event.
      1. If the Client request Authn Context during the registration process, or requested it via the Authorization request, the Authz server MUST include it in the response.
    3. Authentication Time: A timestamp indicating when End-User authentication last occurred.

 

  1. The Identity Token MUST be digitally signed.
    1. The Identity Token MAY be digitally signed using a FIPS-140 approved algorithm (e.g. RSA or ECDSA) using a trusted key.
    2. The Identity Token MAY be digitally signed using an HMAC with the Client Secret.  (I don't think that any large IdP are going to be dong symmetric signing, so this is probably not worth including)

  2. The Identity Token MAY be encrypted for the Client.

  3. Clients MUST verify the integrity and authenticity of the Identity Token per Section 3.1.3.7 of OpenID Connect Core.

 

5        Directed Identity


  1. Clients may Discover if an Authorization server supports Directed identity by using Discovery and inspecting the "subject_types_supported" element in the meta-data.
    1. The Authorization server meta-data will list "pairwise" as an option if it is supported.
  2. The client MUST register a "subject_type" of "pairwise" per Section 2 of OpenID Connect Dynamic Client registration.
  3. The client SHOULD register a sector_identifier_uri per Section 2 of OpenID Connect Dynamic Client registration.
    1.  The sector_identifier_uri and its associated file of redirect URI is described in Section 5 of OpenID Connect Dynamic Client registration, and allow for multiple redirect_URI and clients to share the same Pairwise identifiers.

 

Error Response

The Authorization Server must respond with an HTTP 400 (Bad Request) response on authentication or authorization error and include a status as defined in the original OAuth spec section 5.2. Error Response

 

Security

1.     The Authentication Information Endpoint may be part of an existing API.

2.     The Authorization Server must provide a Scope that provides an Identity Assertion to the Client with only the elements from 2.

 

 

  • No labels