OAuth Referenz
Klasse: OAuthManager
OAuthManager uebernimmt OAuth-URL-Erzeugung, Token-Exchange, Token-Refresh und PKCE-Helfer.
Konstanten (Instanzfelder)
AUTH_URLTOKEN_URLREGISTER_URL
Diese Werte kommen aus den TooLostClient Optionen oder den Defaults.
Methoden
getAuthorizationURL
ts
getAuthorizationURL(options?: AuthorizationURLOptions): stringErzeugt die OAuth Authorization URL mit:
response_type=codeclient_idredirect_uri- optional
scope - optional
state - optional PKCE-Parameter (
code_challenge,code_challenge_method=S256)
exchangeCode
ts
exchangeCode(code: string, options?: TokenRequestOptions): Promise<TokenResponse>
exchangeCode(options: ExchangeCodeOptions): Promise<TokenResponse>Tauscht Authorization Code gegen Tokens via application/x-www-form-urlencoded am Token-Endpunkt.
Unterstuetzt beide Overloads fuer DX:
- positionsbasiert mit
code - objektbasiert
refreshToken
ts
refreshToken(refreshToken: string): Promise<TokenResponse>Aktualisiert das Access Token mit Grant Type refresh_token.
generatePKCE
ts
generatePKCE(): PKCEPairErzeugt:
codeVerifiermit kryptographisch sicheren ZufallsbytescodeChallengevia SHA-256 und URL-safe Base64
Token-Normalisierung
Token-Antworten werden aus camelCase oder snake_case normalisiert:
accessTokenoderaccess_tokenrefreshTokenoderrefresh_tokenexpiresInoderexpires_intokenTypeodertoken_type
Rueckgabeformat:
ts
{
tokenType: "Bearer",
accessToken,
refreshToken,
expiresIn,
scope?,
}Fehlerverhalten
OAuth-Fehler werfen TooLostAPIError mit:
- HTTP-Status
- best-effort Meldung aus
error_description,messageodererror - rohem Payload in
body
Scope-Typ
Aktuelle Scope-Union im SDK:
read:profileread:releaseswrite:releasesread:preferenceswrite:preferencesread:catalogread:analyticsread:earningsread:audience