UNPKG

@leancodepl/kratos

Version:

Headless React components library for building Ory Kratos authentication flows

416 lines (415 loc) 16.7 kB
/** * Ory APIs * # Introduction Documentation for all public and administrative Ory APIs. Administrative APIs can only be accessed with a valid Personal Access Token. Public APIs are mostly used in browsers. ## SDKs This document describes the APIs available in the Ory Network. The APIs are available as SDKs for the following languages: | Language | Download SDK | Documentation | | -------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------ | | Dart | [pub.dev](https://pub.dev/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/dart/README.md) | | .NET | [nuget.org](https://www.nuget.org/packages/Ory.Client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/dotnet/README.md) | | Elixir | [hex.pm](https://hex.pm/packages/ory_client) | [README](https://github.com/ory/sdk/blob/master/clients/client/elixir/README.md) | | Go | [github.com](https://github.com/ory/client-go) | [README](https://github.com/ory/sdk/blob/master/clients/client/go/README.md) | | Java | [maven.org](https://search.maven.org/artifact/sh.ory/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/java/README.md) | | JavaScript | [npmjs.com](https://www.npmjs.com/package/@ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript/README.md) | | JavaScript (With fetch) | [npmjs.com](https://www.npmjs.com/package/@ory/client-fetch) | [README](https://github.com/ory/sdk/blob/master/clients/client/typescript-fetch/README.md) | | PHP | [packagist.org](https://packagist.org/packages/ory/client) | [README](https://github.com/ory/sdk/blob/master/clients/client/php/README.md) | | Python | [pypi.org](https://pypi.org/project/ory-client/) | [README](https://github.com/ory/sdk/blob/master/clients/client/python/README.md) | | Ruby | [rubygems.org](https://rubygems.org/gems/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/ruby/README.md) | | Rust | [crates.io](https://crates.io/crates/ory-client) | [README](https://github.com/ory/sdk/blob/master/clients/client/rust/README.md) | * * The version of the OpenAPI document: v1.20.10 * Contact: support@ory.sh * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ /** * OAuth 2.0 Clients are used to perform OAuth 2.0 and OpenID Connect flows. Usually, OAuth 2.0 clients are * generated for applications which want to consume your OAuth 2.0 or OpenID Connect capabilities. * @export * @interface OAuth2Client */ export interface OAuth2Client { /** * OAuth 2.0 Access Token Strategy * * AccessTokenStrategy is the strategy used to generate access tokens. * Valid options are `jwt` and `opaque`. `jwt` is a bad idea, see https://www.ory.sh/docs/oauth2-oidc/jwt-access-token * Setting the stragegy here overrides the global setting in `strategies.access_token`. * @type {string} * @memberof OAuth2Client */ access_token_strategy?: string; /** * * @type {Array<string>} * @memberof OAuth2Client */ allowed_cors_origins?: Array<string>; /** * * @type {Array<string>} * @memberof OAuth2Client */ audience?: Array<string>; /** * * @type {string} * @memberof OAuth2Client */ authorization_code_grant_access_token_lifespan?: string | null; /** * * @type {string} * @memberof OAuth2Client */ authorization_code_grant_id_token_lifespan?: string | null; /** * * @type {string} * @memberof OAuth2Client */ authorization_code_grant_refresh_token_lifespan?: string | null; /** * OpenID Connect Back-Channel Logout Session Required * * Boolean value specifying whether the RP requires that a sid (session ID) Claim be included in the Logout * Token to identify the RP session with the OP when the backchannel_logout_uri is used. * If omitted, the default value is false. * @type {boolean} * @memberof OAuth2Client */ backchannel_logout_session_required?: boolean; /** * OpenID Connect Back-Channel Logout URI * * RP URL that will cause the RP to log itself out when sent a Logout Token by the OP. * @type {string} * @memberof OAuth2Client */ backchannel_logout_uri?: string; /** * * @type {string} * @memberof OAuth2Client */ client_credentials_grant_access_token_lifespan?: string | null; /** * OAuth 2.0 Client ID * * The ID is immutable. If no ID is provided, a UUID4 will be generated. * @type {string} * @memberof OAuth2Client */ client_id?: string; /** * OAuth 2.0 Client Name * * The human-readable name of the client to be presented to the * end-user during authorization. * @type {string} * @memberof OAuth2Client */ client_name?: string; /** * OAuth 2.0 Client Secret * * The secret will be included in the create request as cleartext, and then * never again. The secret is kept in hashed format and is not recoverable once lost. * @type {string} * @memberof OAuth2Client */ client_secret?: string; /** * OAuth 2.0 Client Secret Expires At * * The field is currently not supported and its value is always 0. * @type {number} * @memberof OAuth2Client */ client_secret_expires_at?: number; /** * OAuth 2.0 Client URI * * ClientURI is a URL string of a web page providing information about the client. * If present, the server SHOULD display this URL to the end-user in * a clickable fashion. * @type {string} * @memberof OAuth2Client */ client_uri?: string; /** * * @type {Array<string>} * @memberof OAuth2Client */ contacts?: Array<string>; /** * OAuth 2.0 Client Creation Date * * CreatedAt returns the timestamp of the client's creation. * @type {Date} * @memberof OAuth2Client */ created_at?: Date; /** * OpenID Connect Front-Channel Logout Session Required * * Boolean value specifying whether the RP requires that iss (issuer) and sid (session ID) query parameters be * included to identify the RP session with the OP when the frontchannel_logout_uri is used. * If omitted, the default value is false. * @type {boolean} * @memberof OAuth2Client */ frontchannel_logout_session_required?: boolean; /** * OpenID Connect Front-Channel Logout URI * * RP URL that will cause the RP to log itself out when rendered in an iframe by the OP. An iss (issuer) query * parameter and a sid (session ID) query parameter MAY be included by the OP to enable the RP to validate the * request and to determine which of the potentially multiple sessions is to be logged out; if either is * included, both MUST be. * @type {string} * @memberof OAuth2Client */ frontchannel_logout_uri?: string; /** * * @type {Array<string>} * @memberof OAuth2Client */ grant_types?: Array<string>; /** * * @type {string} * @memberof OAuth2Client */ implicit_grant_access_token_lifespan?: string | null; /** * * @type {string} * @memberof OAuth2Client */ implicit_grant_id_token_lifespan?: string | null; /** * OAuth 2.0 Client JSON Web Key Set * * Client's JSON Web Key Set [JWK] document, passed by value. The semantics of the jwks parameter are the same as * the jwks_uri parameter, other than that the JWK Set is passed by value, rather than by reference. This parameter * is intended only to be used by Clients that, for some reason, are unable to use the jwks_uri parameter, for * instance, by native applications that might not have a location to host the contents of the JWK Set. If a Client * can use jwks_uri, it MUST NOT use jwks. One significant downside of jwks is that it does not enable key rotation * (which jwks_uri does, as described in Section 10 of OpenID Connect Core 1.0 [OpenID.Core]). The jwks_uri and jwks * parameters MUST NOT be used together. * @type {any} * @memberof OAuth2Client */ jwks?: any | null; /** * OAuth 2.0 Client JSON Web Key Set URL * * URL for the Client's JSON Web Key Set [JWK] document. If the Client signs requests to the Server, it contains * the signing key(s) the Server uses to validate signatures from the Client. The JWK Set MAY also contain the * Client's encryption keys(s), which are used by the Server to encrypt responses to the Client. When both signing * and encryption keys are made available, a use (Key Use) parameter value is REQUIRED for all keys in the referenced * JWK Set to indicate each key's intended usage. Although some algorithms allow the same key to be used for both * signatures and encryption, doing so is NOT RECOMMENDED, as it is less secure. The JWK x5c parameter MAY be used * to provide X.509 representations of keys provided. When used, the bare key values MUST still be present and MUST * match those in the certificate. * @type {string} * @memberof OAuth2Client */ jwks_uri?: string; /** * * @type {string} * @memberof OAuth2Client */ jwt_bearer_grant_access_token_lifespan?: string | null; /** * OAuth 2.0 Client Logo URI * * A URL string referencing the client's logo. * @type {string} * @memberof OAuth2Client */ logo_uri?: string; /** * * @type {object} * @memberof OAuth2Client */ metadata?: object; /** * OAuth 2.0 Client Owner * * Owner is a string identifying the owner of the OAuth 2.0 Client. * @type {string} * @memberof OAuth2Client */ owner?: string; /** * OAuth 2.0 Client Policy URI * * PolicyURI is a URL string that points to a human-readable privacy policy document * that describes how the deployment organization collects, uses, * retains, and discloses personal data. * @type {string} * @memberof OAuth2Client */ policy_uri?: string; /** * * @type {Array<string>} * @memberof OAuth2Client */ post_logout_redirect_uris?: Array<string>; /** * * @type {Array<string>} * @memberof OAuth2Client */ redirect_uris?: Array<string>; /** * * @type {string} * @memberof OAuth2Client */ refresh_token_grant_access_token_lifespan?: string | null; /** * * @type {string} * @memberof OAuth2Client */ refresh_token_grant_id_token_lifespan?: string | null; /** * * @type {string} * @memberof OAuth2Client */ refresh_token_grant_refresh_token_lifespan?: string | null; /** * OpenID Connect Dynamic Client Registration Access Token * * RegistrationAccessToken can be used to update, get, or delete the OAuth2 Client. It is sent when creating a client * using Dynamic Client Registration. * @type {string} * @memberof OAuth2Client */ registration_access_token?: string; /** * OpenID Connect Dynamic Client Registration URL * * RegistrationClientURI is the URL used to update, get, or delete the OAuth2 Client. * @type {string} * @memberof OAuth2Client */ registration_client_uri?: string; /** * OpenID Connect Request Object Signing Algorithm * * JWS [JWS] alg algorithm [JWA] that MUST be used for signing Request Objects sent to the OP. All Request Objects * from this Client MUST be rejected, if not signed with this algorithm. * @type {string} * @memberof OAuth2Client */ request_object_signing_alg?: string; /** * * @type {Array<string>} * @memberof OAuth2Client */ request_uris?: Array<string>; /** * * @type {Array<string>} * @memberof OAuth2Client */ response_types?: Array<string>; /** * OAuth 2.0 Client Scope * * Scope is a string containing a space-separated list of scope values (as * described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client * can use when requesting access tokens. * @type {string} * @memberof OAuth2Client */ scope?: string; /** * OpenID Connect Sector Identifier URI * * URL using the https scheme to be used in calculating Pseudonymous Identifiers by the OP. The URL references a * file with a single JSON array of redirect_uri values. * @type {string} * @memberof OAuth2Client */ sector_identifier_uri?: string; /** * SkipConsent skips the consent screen for this client. This field can only * be set from the admin API. * @type {boolean} * @memberof OAuth2Client */ skip_consent?: boolean; /** * SkipLogoutConsent skips the logout consent screen for this client. This field can only * be set from the admin API. * @type {boolean} * @memberof OAuth2Client */ skip_logout_consent?: boolean; /** * OpenID Connect Subject Type * * The `subject_types_supported` Discovery parameter contains a * list of the supported subject_type values for this server. Valid types include `pairwise` and `public`. * @type {string} * @memberof OAuth2Client */ subject_type?: string; /** * OAuth 2.0 Token Endpoint Authentication Method * * Requested Client Authentication method for the Token Endpoint. The options are: * * `client_secret_basic`: (default) Send `client_id` and `client_secret` as `application/x-www-form-urlencoded` encoded in the HTTP Authorization header. * `client_secret_post`: Send `client_id` and `client_secret` as `application/x-www-form-urlencoded` in the HTTP body. * `private_key_jwt`: Use JSON Web Tokens to authenticate the client. * `none`: Used for public clients (native apps, mobile apps) which can not have secrets. * @type {string} * @memberof OAuth2Client */ token_endpoint_auth_method?: string; /** * OAuth 2.0 Token Endpoint Signing Algorithm * * Requested Client Authentication signing algorithm for the Token Endpoint. * @type {string} * @memberof OAuth2Client */ token_endpoint_auth_signing_alg?: string; /** * OAuth 2.0 Client Terms of Service URI * * A URL string pointing to a human-readable terms of service * document for the client that describes a contractual relationship * between the end-user and the client that the end-user accepts when * authorizing the client. * @type {string} * @memberof OAuth2Client */ tos_uri?: string; /** * OAuth 2.0 Client Last Update Date * * UpdatedAt returns the timestamp of the last update. * @type {Date} * @memberof OAuth2Client */ updated_at?: Date; /** * OpenID Connect Request Userinfo Signed Response Algorithm * * JWS alg algorithm [JWA] REQUIRED for signing UserInfo Responses. If this is specified, the response will be JWT * [JWT] serialized, and signed using JWS. The default, if omitted, is for the UserInfo Response to return the Claims * as a UTF-8 encoded JSON object using the application/json content-type. * @type {string} * @memberof OAuth2Client */ userinfo_signed_response_alg?: string; } /** * Check if a given object implements the OAuth2Client interface. */ export declare function instanceOfOAuth2Client(value: object): value is OAuth2Client; export declare function OAuth2ClientFromJSON(json: any): OAuth2Client; export declare function OAuth2ClientFromJSONTyped(json: any, ignoreDiscriminator: boolean): OAuth2Client; export declare function OAuth2ClientToJSON(json: any): OAuth2Client; export declare function OAuth2ClientToJSONTyped(value?: OAuth2Client | null, ignoreDiscriminator?: boolean): any;