Buckets:
| import { GaxiosResponse } from 'gaxios'; | |
| import { HeadersInit } from './authclient'; | |
| import { ClientAuthentication, OAuthClientAuthHandler, OAuthClientAuthHandlerOptions } from './oauth2common'; | |
| /** | |
| * Defines the interface needed to initialize an StsCredentials instance. | |
| * The interface does not directly map to the spec and instead is converted | |
| * to be compliant with the JavaScript style guide. This is because this is | |
| * instantiated internally. | |
| * StsCredentials implement the OAuth 2.0 token exchange based on | |
| * https://tools.ietf.org/html/rfc8693. | |
| * Request options are defined in | |
| * https://tools.ietf.org/html/rfc8693#section-2.1 | |
| */ | |
| export interface StsCredentialsOptions { | |
| /** | |
| * REQUIRED. The value "urn:ietf:params:oauth:grant-type:token-exchange" | |
| * indicates that a token exchange is being performed. | |
| */ | |
| grantType: string; | |
| /** | |
| * OPTIONAL. A URI that indicates the target service or resource where the | |
| * client intends to use the requested security token. | |
| */ | |
| resource?: string; | |
| /** | |
| * OPTIONAL. The logical name of the target service where the client | |
| * intends to use the requested security token. This serves a purpose | |
| * similar to the "resource" parameter but with the client providing a | |
| * logical name for the target service. | |
| */ | |
| audience?: string; | |
| /** | |
| * OPTIONAL. A list of space-delimited, case-sensitive strings, as defined | |
| * in Section 3.3 of [RFC6749], that allow the client to specify the desired | |
| * scope of the requested security token in the context of the service or | |
| * resource where the token will be used. | |
| */ | |
| scope?: string[]; | |
| /** | |
| * OPTIONAL. An identifier, as described in Section 3 of [RFC8693], eg. | |
| * "urn:ietf:params:oauth:token-type:access_token" for the type of the | |
| * requested security token. | |
| */ | |
| requestedTokenType?: string; | |
| /** | |
| * REQUIRED. A security token that represents the identity of the party on | |
| * behalf of whom the request is being made. | |
| */ | |
| subjectToken: string; | |
| /** | |
| * REQUIRED. An identifier, as described in Section 3 of [RFC8693], that | |
| * indicates the type of the security token in the "subject_token" parameter. | |
| */ | |
| subjectTokenType: string; | |
| actingParty?: { | |
| /** | |
| * OPTIONAL. A security token that represents the identity of the acting | |
| * party. Typically, this will be the party that is authorized to use the | |
| * requested security token and act on behalf of the subject. | |
| */ | |
| actorToken: string; | |
| /** | |
| * An identifier, as described in Section 3, that indicates the type of the | |
| * security token in the "actor_token" parameter. This is REQUIRED when the | |
| * "actor_token" parameter is present in the request but MUST NOT be | |
| * included otherwise. | |
| */ | |
| actorTokenType: string; | |
| }; | |
| } | |
| /** | |
| * Defines the OAuth 2.0 token exchange successful response based on | |
| * https://tools.ietf.org/html/rfc8693#section-2.2.1 | |
| */ | |
| export interface StsSuccessfulResponse { | |
| access_token: string; | |
| issued_token_type: string; | |
| token_type: string; | |
| expires_in?: number; | |
| refresh_token?: string; | |
| scope?: string; | |
| res?: GaxiosResponse | null; | |
| } | |
| export interface StsCredentialsConstructionOptions extends OAuthClientAuthHandlerOptions { | |
| /** | |
| * The client authentication credentials if available. | |
| */ | |
| clientAuthentication?: ClientAuthentication; | |
| /** | |
| * The token exchange endpoint. | |
| */ | |
| tokenExchangeEndpoint: string | URL; | |
| } | |
| /** | |
| * Implements the OAuth 2.0 token exchange based on | |
| * https://tools.ietf.org/html/rfc8693 | |
| */ | |
| export declare class StsCredentials extends OAuthClientAuthHandler { | |
| #private; | |
| /** | |
| * Initializes an STS credentials instance. | |
| * | |
| * @param options The STS credentials instance options. Passing an `tokenExchangeEndpoint` directly is **@DEPRECATED**. | |
| * @param clientAuthentication **@DEPRECATED**. Provide a {@link StsCredentialsConstructionOptions `StsCredentialsConstructionOptions`} object in the first parameter instead. | |
| */ | |
| constructor(options?: StsCredentialsConstructionOptions | string | URL, | |
| /** | |
| * @deprecated - provide a {@link StsCredentialsConstructionOptions `StsCredentialsConstructionOptions`} object in the first parameter instead | |
| */ | |
| clientAuthentication?: ClientAuthentication); | |
| /** | |
| * Exchanges the provided token for another type of token based on the | |
| * rfc8693 spec. | |
| * @param stsCredentialsOptions The token exchange options used to populate | |
| * the token exchange request. | |
| * @param additionalHeaders Optional additional headers to pass along the | |
| * request. | |
| * @param options Optional additional GCP-specific non-spec defined options | |
| * to send with the request. | |
| * Example: `&options=${encodeUriComponent(JSON.stringified(options))}` | |
| * @return A promise that resolves with the token exchange response containing | |
| * the requested token and its expiration time. | |
| */ | |
| exchangeToken(stsCredentialsOptions: StsCredentialsOptions, headers?: HeadersInit, options?: Parameters<JSON['stringify']>[0]): Promise<StsSuccessfulResponse>; | |
| } | |
Xet Storage Details
- Size:
- 5.26 kB
- Xet hash:
- 1492db167a35122bb0c9e89bcce38058eb0564010d53b4a52eba3d9f6017befb
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.