POST
/
frontend
/
api
/
v1
/
auth
/
oauth-sign-in
Authenticate user by oauth provider token
curl --request POST \
  --url https://{host}/frontend/api/v1/auth/oauth-sign-in \
  --header 'Content-Type: application/json' \
  --data '{
  "check-auth": true,
  "current-user": null,
  "email": "jsmith@example.com",
  "logout-other": false,
  "long-term-token": true,
  "oauth-provider-token": {
    "provider": "<string>",
    "token": "<string>"
  },
  "ret-url": null
}'
{
  "api-token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "check-auth-result": {
    "message": "<string>",
    "ok": true
  },
  "current-user": null,
  "email": "<string>",
  "jwt-token": {
    "expire": "2024-11-01T16:39:02Z",
    "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy.zzzzzzzzzzzzzzzzzzz-zzzzzzzzzzzzzzzzzzzzzzz"
  },
  "oauth-provider-tokens": [
    {
      "provider": "<string>",
      "token": "<string>"
    }
  ],
  "ret-url": null,
  "status": "anonymous",
  "user-id": 1
}

Cookies

oauth-provider-name
string
oauth-email
string
oauth-provider-token
string

Body

check-auth
boolean
current-user
string<email> | null

Currently logged in user email

email
string<email>
Required string length: 5 - 255
logout-other
boolean
default:false

Invalidate other sessions

long-term-token
boolean
default:true

Expire JWT token in 2 weeks if true and in 3 hours if false

oauth-provider-token
object

Token for connected OAuth account

ret-url
string<url> | null

Login return URL

Response

200 - application/json

OK

api-token
string
Examples:

"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

check-auth-result
object
current-user
string | null
email
string
jwt-token
object
oauth-provider-tokens
object[]
ret-url
string | null
status
enum<string>
Available options:
anonymous,
pending,
active,
suspended
user-id
integer
Required range: x >= 0