init
This commit is contained in:
136
node_modules/matrix-js-sdk/lib/oauth/register.d.ts
generated
vendored
Normal file
136
node_modules/matrix-js-sdk/lib/oauth/register.d.ts
generated
vendored
Normal file
@@ -0,0 +1,136 @@
|
||||
import { type NonEmptyArray } from "../@types/common.ts";
|
||||
type LocalizableKeys = "client_name" | "client_uri" | "policy_uri" | "tos_uri" | "logo_uri";
|
||||
/**
|
||||
* Request body for dynamic registration as defined by https://spec.matrix.org/v1.18/client-server-api/#client-registration
|
||||
*/
|
||||
export type OAuthRegistrationRequest = {
|
||||
/**
|
||||
* Kind of the application.
|
||||
*
|
||||
* The homeserver MUST support the web and native values to be able to perform redirect URI validation.
|
||||
*
|
||||
* Defaults to web if omitted.
|
||||
*/
|
||||
application_type?: "web" | "native";
|
||||
/**
|
||||
* Human-readable name of the client to be presented to the user.
|
||||
*
|
||||
* This field can be localized by specifying `client_name#$lang`.
|
||||
*/
|
||||
client_name?: string;
|
||||
/**
|
||||
* A URL to a valid web page that SHOULD give the user more information about the client.
|
||||
*
|
||||
* This URL MUST use the https scheme and SHOULD NOT require authentication to access.
|
||||
* It MUST NOT use a user or password in the authority component of the URI.
|
||||
*
|
||||
* The server MAY reject client registrations if this field is invalid or missing.
|
||||
*
|
||||
* This URI is a common base for all the other URIs in the metadata:
|
||||
* those MUST be either on the same host or on a subdomain of the host of the client_uri.
|
||||
* The port number, path and query components MAY be different.
|
||||
*
|
||||
* For example, if the client_uri is https://example.com/,
|
||||
* then one of the redirect_uris can be https://example.com/callback or https://app.example.com/callback,
|
||||
* but not https://app.com/callback.
|
||||
*
|
||||
* This field can be localized by specifying `client_uri#$lang`.
|
||||
*/
|
||||
client_uri: string;
|
||||
/**
|
||||
* Array of the OAuth 2.0 grant types that the client may use.
|
||||
*
|
||||
* This MUST include:
|
||||
*
|
||||
* the authorization_code value to use the authorization code grant,
|
||||
* the refresh_token value to use the refresh token grant.
|
||||
*/
|
||||
grant_types?: NonEmptyArray<string>;
|
||||
/**
|
||||
* URL that references a logo for the client.
|
||||
*
|
||||
* This URL MUST use the https scheme.
|
||||
*
|
||||
* This field can be localized by specifying `logo_uri#$lang`.
|
||||
*/
|
||||
logo_uri?: string;
|
||||
/**
|
||||
* URL that points to a human-readable policy document for the client.
|
||||
*
|
||||
* This URL MUST use the https scheme and SHOULD NOT require authentication to access.
|
||||
* It MUST NOT use a user or password in the authority component of the URI.
|
||||
*
|
||||
* This field can be localized by specifying `policy_uri#$lang`.
|
||||
*/
|
||||
policy_uri?: string;
|
||||
/**
|
||||
* Array of redirection URIs for use in redirect-based flows.
|
||||
*
|
||||
* At least one URI is required to use the authorization code grant.
|
||||
*/
|
||||
redirect_uris?: NonEmptyArray<string>;
|
||||
/**
|
||||
* Array of the OAuth 2.0 response types that the client may use.
|
||||
*
|
||||
* This MUST include the code value to use the authorization code grant.
|
||||
*/
|
||||
response_types?: NonEmptyArray<string>;
|
||||
/**
|
||||
* String indicator of the requested authentication method for the token endpoint.
|
||||
*/
|
||||
token_endpoint_auth_method?: string;
|
||||
/**
|
||||
* URL that points to a human-readable terms of service document for the client.
|
||||
*
|
||||
* This URL MUST use the https scheme and SHOULD NOT require authentication to access.
|
||||
* It MUST NOT use a user or password in the authority component of the URI.
|
||||
*
|
||||
* This field can be localized by specifying `tos_uri#$lang`.
|
||||
*/
|
||||
tos_uri?: string;
|
||||
} & {
|
||||
[K in `${LocalizableKeys}#${string}`]?: string;
|
||||
};
|
||||
/**
|
||||
* The OAuth 2.0 grant types that are defined for Matrix in https://spec.matrix.org/v1.17/client-server-api/#grant-types
|
||||
*/
|
||||
export declare enum OAuthGrantType {
|
||||
/**
|
||||
* As per RFC 6749 section 4.1, the authorization code grant lets the client obtain an access token through a browser redirect.
|
||||
*
|
||||
* See https://spec.matrix.org/v1.18/client-server-api/#authorization-code-grant
|
||||
*/
|
||||
AuthorizationCode = "authorization_code",
|
||||
/**
|
||||
* As per RFC 6749 section 6, the refresh token grant lets the client exchange a refresh token for an access token.
|
||||
*
|
||||
* https://spec.matrix.org/v1.18/client-server-api/#refresh-token-grant
|
||||
*/
|
||||
RefreshToken = "refresh_token",
|
||||
/**
|
||||
* As per RFC 8628, the device authorization grant lets clients on devices with limited input capabilities obtain
|
||||
* an access token by having the user complete authorization on a separate device with a web browser.
|
||||
*
|
||||
* See https://spec.matrix.org/v1.18/client-server-api/#device-authorization-grant
|
||||
*/
|
||||
DeviceAuthorization = "urn:ietf:params:oauth:grant-type:device_code"
|
||||
}
|
||||
/**
|
||||
* Check that URIs have a common base,
|
||||
* as per https://spec.matrix.org/v1.18/client-server-api/#redirect-uri-validation
|
||||
*/
|
||||
export declare function urlHasCommonBase(base: URL, urlStr?: string): boolean;
|
||||
/**
|
||||
* Response from dynamic registration
|
||||
*/
|
||||
type RegistrationResponse = {
|
||||
client_id: string;
|
||||
};
|
||||
/**
|
||||
* Validate the given response matches the format expected for a {@link RegistrationResponse}
|
||||
* @param response - the response to validate
|
||||
* @throws if the response does not match the expected format
|
||||
*/
|
||||
export declare function validateRegistrationResponse(response: unknown): response is RegistrationResponse;
|
||||
export {};
|
||||
//# sourceMappingURL=register.d.ts.map
|
||||
Reference in New Issue
Block a user