post__auth_github

Code Samples

# You can also use wget
curl -X POST https://backend.flashback.tech/auth/github \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST /auth/github

GitHub OAuth Authentication

Authenticate user with GitHub OAuth authorization code.

This endpoint handles GitHub OAuth authentication, similar to Google OAuth but using GitHub's OAuth flow. The system creates or updates user accounts based on GitHub profile information.

GitHub OAuth Flow:

  1. Redirect user to GitHub OAuth consent screen

  2. User authorizes your application

  3. GitHub returns authorization code

  4. Call this endpoint with the code

  5. Receive authentication state with user info and tokens

Account Creation:

  • Organization name derived from GitHub username or company

  • Email from GitHub profile

  • Profile image from GitHub avatar

Body parameter

{
  "code": "abc123def456..."
}

Parameters

Name
In
Type
Required
Description

body

body

object

true

none

» code

body

string

true

GitHub authorization code from OAuth consent screen

Example responses

200 Response

{
  "success": true,
  "message": "Authentication successful",
  "authState": {
    "user": {
      "email": "[email protected]",
      "name": "John Doe",
      "imageUrl": "https://avatars.githubusercontent.com/u/1234567"
    },
    "token": "string",
    "accessToken": "string",
    "refreshToken": "string",
    "expiresAt": 0,
    "provider": "GITHUB"
  }
}

Responses

Status
Meaning
Description
Schema

200

Authentication successful

Inline

Response Schema

Status Code 200

Name
Type
Required
Restrictions
Description

» success

boolean

false

none

none

» message

string

false

none

none

» authState

object

false

none

none

»» user

object

false

none

none

»»» email

string

false

none

User's email from GitHub

»»» name

string

false

none

User's display name from GitHub

»»» imageUrl

string

false

none

User's profile image URL from GitHub

»» token

string

false

none

JWT access token for API authentication

»» accessToken

string

false

none

GitHub access token for GitHub API calls

»» refreshToken

string

false

none

GitHub refresh token

»» expiresAt

integer

false

none

Token expiration timestamp

»» provider

string

false

none

Authentication provider

Enumerated Values

Property
Value

provider

GITHUB

Last updated

Was this helpful?