OAuth redirect callback (login / signup / link / accept invite)
Public provider redirect target. Validates the sealed state cookie + state query, exchanges the code, and resolves login/self-serve-signup/invitation-accept/link. On success returns a 302 browser navigation (to /dashboard or /settings/account) with Set-Cookie; business failures return JSON error bodies with a variety of statuses.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”Provider-supplied error (e.g. access_denied)
Responses
Section titled “Responses”Success; browser redirect + Set-Cookie
State/session expired
object
Human-readable error message.
Examplegenerated
{ "error": "example", "message": "example"}Session changed/lost (link)
object
Human-readable error message.
Examplegenerated
{ "error": "example", "message": "example"}Provider email unverified
object
Human-readable error message.
Examplegenerated
{ "error": "example", "message": "example"}Unsupported provider
object
Human-readable error message.
Examplegenerated
{ "error": "example", "message": "example"}Identity already bound to another user / multiple pending invites / signup race
object
Human-readable error message.
Examplegenerated
{ "error": "example", "message": "example"}Invitation expired
object
Human-readable error message.
Examplegenerated
{ "error": "example", "message": "example"}Session secret not configured / data-integrity fault
object
Human-readable error message.
Examplegenerated
{ "error": "example", "message": "example"}Provider not configured
object
Human-readable error message.
Examplegenerated
{ "error": "example", "message": "example"}Provider code exchange failed
object
Human-readable error message.
Examplegenerated
{ "error": "example", "message": "example"}