oidc-provider.token-endpoint
Token endpoint implementation for OAuth2/OIDC.
handle-authorization-code-grant
(handle-authorization-code-grant {:keys [code redirect_uri]} client provider-config code-store token-store claims-provider)Handles authorization_code grant type.
Args: params: Token request parameters client: Authenticated client configuration provider-config: Provider configuration map code-store: AuthorizationCodeStore implementation token-store: TokenStore implementation claims-provider: ClaimsProvider implementation
Returns: Token response map
handle-client-credentials-grant
(handle-client-credentials-grant {:keys [scope]} client provider-config token-store)Handles client_credentials grant type.
Args: params: Token request parameters client: Authenticated client configuration provider-config: Provider configuration map token-store: TokenStore implementation
Returns: Token response map
handle-refresh-token-grant
(handle-refresh-token-grant {:keys [refresh_token scope]} client provider-config token-store)Handles refresh_token grant type.
Args: params: Token request parameters client: Authenticated client configuration provider-config: Provider configuration map token-store: TokenStore implementation
Returns: Token response map
handle-token-request
(handle-token-request params authorization-header provider-config client-store code-store token-store claims-provider)Handles token endpoint requests.
Args: params: Token request parameters (from form body) authorization-header: Authorization header value (for client authentication) provider-config: Provider configuration map client-store: ClientStore implementation code-store: AuthorizationCodeStore implementation token-store: TokenStore implementation claims-provider: ClaimsProvider implementation
Returns: Token response map
Throws: ex-info on validation or processing errors
token-error-response
(token-error-response error error-description & {:keys [status], :or {status 400}})Creates an OAuth2 error response.
Args: error: Error code (e.g., “invalid_request”, “invalid_client”) error-description: Human-readable error description status: HTTP status code (default 400)
Returns: Map with :status, :headers, and :body
TokenRequest
Malli schema for token request parameters.
TokenResponse
Malli schema for token response.