---
title: "OAuth Callback Handler"
method: POST
path: "/api/v1/oauth/callback"
tags: ["login"]
---

# OAuth Callback Handler

`POST /api/v1/oauth/callback`

## Request

- Base URL: `http://localhost:8080`
- URL: `http://localhost:8080/api/v1/oauth/callback`
- Auth: none declared

Handle OAuth callback, exchange code for token, and run the full SSO login workflow
(role checks, Stripe subscription, plan permissions, activity log, refresh token).

## Request body

- UsersOAuthCallbackRequest
  - `code` string
  - `code_verifier` string: For PKCE (Azure)
  - `provider` string
  - `redirect_uri` string: Must match what was sent in the authorization request
  - `state` string

## Response `200`

OK

- object

## Other responses

- `400`: Bad Request
- `500`: Internal Server Error

---

[API](https://skmtc.dev/nife/apis/nife-io-swagger-api.md) - [All operations](https://skmtc.dev/nife/apis/nife-io-swagger-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nife/apis/nife-io-swagger-api/revisions/6e868dc62795?raw)
