@blockchain-lab-um/oidc-types
Version:
Types for OIDC.
70 lines (68 loc) • 2.52 kB
TypeScript
interface OAuth2AuthorizationServerMetadata {
issuer: string;
authorization_endpoint: string;
token_endpoint: string;
jwks_uri?: string;
registration_endpoint?: string;
scopes_supported?: any[];
response_types_supported: any[];
response_modes_supported?: any[];
grant_types_supported?: any[];
token_endpoint_auth_methods_supported?: any[];
token_endpoint_auth_signing_alg_values_supported?: any[];
service_documentation?: string;
ui_locales_supported?: any[];
op_policy_uri?: string;
op_tos_uri?: string;
revocation_endpoint?: string;
revocation_endpoint_auth_methods_supported?: any[];
revocation_endpoint_auth_signing_alg_values_supported?: any[];
introspection_endpoint?: string;
introspection_endpoint_auth_methods_supported?: any[];
introspection_endpoint_auth_signing_alg_values_supported?: any[];
code_challenge_methods_supported?: any[];
}
interface OAuth2ClientMetadata {
redirect_uris?: string[];
token_endpoint_auth_method?: (typeof TOKEN_ENDPOINT_AUTH_METHODS)[number];
grant_types?: (typeof GRANT_TYPES)[number][];
response_types?: ('code' | 'token')[];
client_name?: string;
client_uri?: string;
logo_uri?: string;
scope?: string;
contacts?: string[];
tos_uri?: string;
policy_uri?: string;
jwks_uri?: string;
jwks?: any;
software_id?: string;
software_version?: string;
}
declare const TOKEN_ENDPOINT_AUTH_METHODS: readonly ["none", "client_secret_post", "client_secret_basic"];
declare const GRANT_TYPES: readonly ["authorization_code", "implicit", "password", "client_credentials", "urn:ietf:params:oauth:grant-type:jwt-bearer", "urn:ietf:params:oauth:grant-type:saml2-bearer"];
interface TokenRequestOAuth2 {
grant_type: 'authorization_code';
code?: string;
redirect_uri?: string;
client_id?: string;
}
interface TokenResponseOAuth2 {
access_token: string;
token_type: string;
expires_in?: number;
refresh_token?: string;
scope?: string;
}
interface AuthorizationRequestOAuth2 {
response_type: 'code';
client_id: string;
redirect_uri?: string;
scope?: string;
state?: string;
}
interface AuthorizationResponseOAuth2 {
code: string;
state?: string;
}
export { type AuthorizationRequestOAuth2, type AuthorizationResponseOAuth2, GRANT_TYPES, type OAuth2AuthorizationServerMetadata, type OAuth2ClientMetadata, TOKEN_ENDPOINT_AUTH_METHODS, type TokenRequestOAuth2, type TokenResponseOAuth2 };