Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
950 B · 24 lines
TypeScript
12345678910111213141516171819202122232425import type { BrowserOAuthClient } from "@atproto/oauth-client-browser";
// The SDK's server factory captures this object during construction. Configure// its methods in place so authorization, callbacks and refresh share routing.export function routeOAuthThroughStreamplace( resolver: BrowserOAuthClient["oauthResolver"], streamplaceUrl: string,): () => string | null { let loginHint: string | null = null; resolver.resolveFromService = async (input, options) => { loginHint = input; const metadata = await resolver.getResourceServerMetadata( streamplaceUrl, options, ); return { metadata }; }; resolver.resolveFromIdentity = async (input, options) => { const identityInfo = await resolver.resolveIdentity(input, options); const { metadata } = await resolver.resolveFromService(input, options); return { identityInfo, metadata, pds: new URL(streamplaceUrl) }; }; return () => loginHint;}