UNPKG

@atproto/oauth-client

Version:

OAuth client for ATPROTO PDS. This package serves as common base for environment-specific implementations (NodeJS, Browser, React-Native).

71 lines 7.84 kB
import { IdentityResolver, ResolvedIdentity, ResolveIdentityOptions } from '@atproto-labs/identity-resolver'; import { OAuthAuthorizationServerMetadata } from '@atproto/oauth-types'; import { GetCachedOptions, OAuthAuthorizationServerMetadataResolver } from './oauth-authorization-server-metadata-resolver.js'; import { OAuthProtectedResourceMetadataResolver } from './oauth-protected-resource-metadata-resolver.js'; export type { GetCachedOptions }; export type ResolveOAuthOptions = GetCachedOptions & ResolveIdentityOptions; export declare class OAuthResolver { readonly identityResolver: IdentityResolver; readonly protectedResourceMetadataResolver: OAuthProtectedResourceMetadataResolver; readonly authorizationServerMetadataResolver: OAuthAuthorizationServerMetadataResolver; constructor(identityResolver: IdentityResolver, protectedResourceMetadataResolver: OAuthProtectedResourceMetadataResolver, authorizationServerMetadataResolver: OAuthAuthorizationServerMetadataResolver); /** * @param input - A handle, DID, PDS URL or Entryway URL */ resolve(input: string, options?: ResolveOAuthOptions): Promise<{ identity?: ResolvedIdentity; metadata: OAuthAuthorizationServerMetadata; }>; /** * @note this method can be used to verify if a particular uri supports OAuth * based sign-in (for compatibility with legacy implementation). */ resolveFromService(input: string, options?: ResolveOAuthOptions): Promise<{ metadata: OAuthAuthorizationServerMetadata; }>; resolveFromIdentity(input: string, options?: ResolveOAuthOptions): Promise<{ identity: ResolvedIdentity; metadata: OAuthAuthorizationServerMetadata; }>; resolveIdentity(input: string, options?: ResolveIdentityOptions): Promise<ResolvedIdentity>; getAuthorizationServerMetadata(issuer: string, options?: GetCachedOptions): Promise<OAuthAuthorizationServerMetadata>; getResourceServerMetadata(pdsUrl: string | URL, options?: GetCachedOptions): Promise<{ issuer: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}`; authorization_endpoint: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}`; token_endpoint: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}`; jwks_uri?: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | undefined; claims_supported?: string[] | undefined; claims_locales_supported?: string[] | undefined; claims_parameter_supported?: boolean | undefined; request_parameter_supported?: boolean | undefined; request_uri_parameter_supported?: boolean | undefined; require_request_uri_registration?: boolean | undefined; scopes_supported?: string[] | undefined; subject_types_supported?: string[] | undefined; response_types_supported?: string[] | undefined; response_modes_supported?: string[] | undefined; grant_types_supported?: string[] | undefined; code_challenge_methods_supported?: ("S256" | "plain")[] | undefined; ui_locales_supported?: string[] | undefined; id_token_signing_alg_values_supported?: string[] | undefined; display_values_supported?: string[] | undefined; request_object_signing_alg_values_supported?: string[] | undefined; authorization_response_iss_parameter_supported?: boolean | undefined; authorization_details_types_supported?: string[] | undefined; request_object_encryption_alg_values_supported?: string[] | undefined; request_object_encryption_enc_values_supported?: string[] | undefined; token_endpoint_auth_methods_supported?: string[] | undefined; token_endpoint_auth_signing_alg_values_supported?: string[] | undefined; revocation_endpoint?: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | undefined; introspection_endpoint?: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | undefined; pushed_authorization_request_endpoint?: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | undefined; require_pushed_authorization_requests?: boolean | undefined; userinfo_endpoint?: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | undefined; end_session_endpoint?: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | undefined; registration_endpoint?: `http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}` | undefined; dpop_signing_alg_values_supported?: string[] | undefined; protected_resources?: (`http://[::1]${string}` | "http://localhost" | `http://localhost#${string}` | `http://localhost?${string}` | `http://localhost/${string}` | `http://localhost:${string}` | "http://127.0.0.1" | `http://127.0.0.1#${string}` | `http://127.0.0.1?${string}` | `http://127.0.0.1/${string}` | `http://127.0.0.1:${string}` | `https://${string}`)[] | undefined; client_id_metadata_document_supported?: boolean | undefined; }>; } //# sourceMappingURL=oauth-resolver.d.ts.map