@leancodepl/kratos
Version:
Headless React components library for building Ory Kratos authentication flows
416 lines (415 loc) • 16.7 kB
TypeScript
/**
* 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;