Header menu logo FSharp.ATProto

Discovery Module

Authorization server and protected resource metadata discovery for the AT Protocol OAuth flow. Implements RFC 8414 (Authorization Server Metadata) and RFC 9728 (Protected Resource Metadata).

Functions and values

Function or value Description

discover httpClient pdsUrl

Full Usage: discover httpClient pdsUrl

Parameters:
Returns: Task<Result<AuthorizationServerMetadata, OAuthError>>

Full discovery: PDS URL -> protected resource -> authorization server metadata. First discovers the protected resource to find the authorization server, then fetches the authorization server metadata.

httpClient : HttpClient
pdsUrl : string
Returns: Task<Result<AuthorizationServerMetadata, OAuthError>>

discoverAuthorizationServer httpClient issuer

Full Usage: discoverAuthorizationServer httpClient issuer

Parameters:
Returns: Task<Result<AuthorizationServerMetadata, OAuthError>>

Discover authorization server metadata. Fetches GET /.well-known/oauth-authorization-server

httpClient : HttpClient
issuer : string
Returns: Task<Result<AuthorizationServerMetadata, OAuthError>>

discoverProtectedResource httpClient pdsUrl

Full Usage: discoverProtectedResource httpClient pdsUrl

Parameters:
Returns: Task<Result<ProtectedResourceMetadata, OAuthError>>

Discover protected resource metadata for a PDS. Fetches GET https:///.well-known/oauth-protected-resource

httpClient : HttpClient
pdsUrl : string
Returns: Task<Result<ProtectedResourceMetadata, OAuthError>>

Type something to start searching.