UNPKG

@dbg-riskit/angular-auth

Version:

98 lines (97 loc) 5.67 kB
import { UserInfo } from '@dbg-riskit/common'; export interface AuthResponse { id_token?: string | null; access_token?: string | null; refresh_token?: string | null; nonce?: string; token_type?: string; } export interface TokenData extends UserInfo { /** * REQUIRED. Issuer Identifier for the Issuer of the response. The iss value is a case sensitive * URL using the https scheme that contains scheme, host, and optionally, port number and path * components and no query or fragment components. */ iss: string; /** * REQUIRED. Subject Identifier. A locally unique and never reassigned identifier within the * Issuer for the End-User, which is intended to be consumed by the Client, e.g., 24400320 or * AItOawmwtWwcT0k51BayewNvutrJUqsvl6qs7A4. It MUST NOT exceed 255 ASCII characters in length. * The sub value is a case sensitive string. */ sub?: string; /** * REQUIRED. Audience(s) that this ID Token is intended for. It MUST contain the OAuth 2.0 * client_id of the Relying Party as an audience value. It MAY also contain identifiers for * other audiences. In the general case, the aud value is an array of case sensitive strings. * In the common special case when there is one audience, the aud value MAY be a single case * sensitive string. */ aud: string | string[]; /** * REQUIRED. Expiration time on or after which the ID Token MUST NOT be accepted for processing. * The processing of this parameter requires that the current date/time MUST be before the * expiration date/time listed in the value. Implementers MAY provide for some small leeway, * usually no more than a few minutes, to account for clock skew. Its value is a JSON number * representing the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the * date/time. See RFC 3339 [RFC3339] for details regarding date/times in general and UTC in * particular. */ exp: number; /** * REQUIRED. Time at which the JWT was issued. Its value is a JSON number representing the number * of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time. */ iat: number; /** * Time when the End-User authentication occurred. Its value is a JSON number representing the * number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date/time. When a * max_age request is made or when auth_time is requested as an Essential Claim, then this * Claim is REQUIRED; otherwise, its inclusion is OPTIONAL. (The auth_time Claim semantically * corresponds to the OpenID 2.0 PAPE [OpenID.PAPE] auth_time response parameter.) */ auth_time?: number; /** * String value used to associate a Client session with an ID Token, and to mitigate replay * attacks. The value is passed through unmodified from the Authentication Request to the ID * Token. If present in the ID Token, Clients MUST verify that the nonce Claim Value is equal * to the value of the nonce parameter sent in the Authentication Request. If present in the * Authentication Request, Authorization Servers MUST include a nonce Claim in the ID Token * with the Claim Value being the nonce value sent in the Authentication Request. Authorization * Servers SHOULD perform no other processing on nonce values used. The nonce value is a case * sensitive string. */ nonce?: string; /** * OPTIONAL. Authentication Context Class Reference. String specifying an Authentication * Context Class Reference value that identifies the Authentication Context Class that the * authentication performed satisfied. The value "0" indicates the End-User authentication * did not meet the requirements of ISO/IEC 29115 [ISO29115] level 1. Authentication using * a long-lived browser cookie, for instance, is one example where the use of "level 0" is * appropriate. Authentications with level 0 SHOULD NOT be used to authorize access to any * resource of any monetary value. (This corresponds to the OpenID 2.0 PAPE [OpenID.PAPE] * nist_auth_level 0.) An absolute URI or an RFC 6711 [RFC6711] registered name SHOULD be * used as the acr value; registered names MUST NOT be used with a different meaning than * that which is registered. Parties using this claim will need to agree upon the meanings * of the values used, which may be context-specific. The acr value is a case * sensitive string. */ acr?: string; /** * OPTIONAL. Authentication Methods References. JSON array of strings that are identifiers for * authentication methods used in the authentication. For instance, values might indicate * that both password and OTP authentication methods were used. The definition of particular * values to be used in the amr Claim is beyond the scope of this specification. Parties using * this claim will need to agree upon the meanings of the values used, which may be * context-specific. The amr value is an array of case sensitive strings. */ amr?: string[]; /** * OPTIONAL. Authorized party - the party to which the ID Token was issued. If present, it * MUST contain the OAuth 2.0 Client ID of this party. This Claim is only needed when the * ID Token has a single audience value and that audience is different than the authorized * party. It MAY be included even when the authorized party is the same as the sole audience. * The azp value is a case sensitive string containing a StringOrURI value. */ azp?: string; }