Skip to content

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.

provider
required
string
Allowed values: google github
state
string
code
string
error
string

Provider-supplied error (e.g. access_denied)

Success; browser redirect + Set-Cookie

State/session expired

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Session changed/lost (link)

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Provider email unverified

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Unsupported provider

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Identity already bound to another user / multiple pending invites / signup race

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Invitation expired

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Session secret not configured / data-integrity fault

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Provider not configured

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}

Provider code exchange failed

Media typeapplication/json
object
error
required

Human-readable error message.

string
message
string
Examplegenerated
json
{
"error": "example",
"message": "example"
}