Skip to main content

OAuth Connection Guide

Welcome to the OAuth Connection Guide. This document provides detailed instructions on how to integrate your application with our OAuth authentication service using the Proof Key for Code Exchange (PKCE) method.

PKCE adds an additional layer of security for public clients and is highly recommended for single-page applications and mobile apps.

Prerequisites

Before you start, make sure you have:

  • A basic understanding of OAuth 2.0 and PKCE.
  • Access to the client application where you want to integrate OAuth.
  • The ability to configure redirection URIs for your OAuth application.

Getting Started

To integrate with our OAuth service using PKCE, you'll need to perform some initial setup and ensure your environment meets the following requirements:

  • Development Environment: Ensure you have a local server or a development environment capable of handling HTTP requests and responses.
  • Client ID: Obtain your Client ID from our service which is outlined in this documentation.
  • Redirect URI: Determine the URI where users will be redirected after authentication. This should be a route in your application that can handle the OAuth flow.

Once you have the prerequisites ready, you can proceed to configure your OAuth application.

OAuth Application Configuration

To securely integrate with our OAuth service using PKCE, you'll configure your application for different environments. Here are the configuration steps for the development environment:

Register & Configure App

Register your application with our OAuth service to get your client_id. Since PKCE is being used, you won't need a client secret. Use the provided details as a reference:

Dev Environment
{
"name": "set-id-oauth_playvs_test",
"client_id": "kwV597XmkmoaTa0v",
"scopes": "email profile",
"callback_url": "http://localhost:4000",
"authorize_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/authorize",
"token_fetch_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/token",
"user_info_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/userinfo",
}
Dev-Stage Environment
{
"name": "set-id-oauth_playvs_develop_staging",
"client_id": "oeuy6wLaoVPYLTSz",
"scopes": "email profile",
"callback_url": "https://app-develop.staging.plvs.io/auth/vesl/oauth/callback",
"authorize_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/authorize",
"token_fetch_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/token",
"user_info_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/userinfo",
}
Master-Stage Environment
{
"name": "set-id-oauth_playvs_master_staging",
"client_id": "NTAbynWzdQ6Yvqgg",
"scopes": "email profile",
"callback_url": "https://app-master.staging.plvs.io/auth/vesl/oauth/callback",
"authorize_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/authorize",
"token_fetch_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/token",
"user_info_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/userinfo",
}
Release-Stage Environment
{
"name": "set-id-oauth_playvs_release_staging",
"client_id": "I0NidSWkfJOlbRGh",
"scopes": "email profile",
"callback_url": "https://app-release.staging.plvs.io/auth/vesl/oauth/callback",
"authorize_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/authorize",
"token_fetch_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/token",
"user_info_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/userinfo",
}
Release-Stage Environment
{
"name": "set-id-oauth_playvs_1_staging",
"client_id": "3nhPKMvneBZAWQO0",
"scopes": "email profile",
"callback_url": "https://app-1.staging.plvs.io/auth/vesl/oauth/callback",
"authorize_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/authorize",
"token_fetch_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/token",
"user_info_url": "https://optimal-wren-60.clerk.accounts.dev/oauth/userinfo",
}
Prod Environment
{
"name": "set-id-oauth_playvs_prod",
"client_id": "JNN5JEyPvORV06GK",
"scopes": "email profile",
"callback_url": "https://app.playvs.com/auth/vesl/oauth/callback",
"authorize_url": "https://clerk.stiegleredtech.org/oauth/authorize",
"token_fetch_url": "https://clerk.stiegleredtech.org/oauth/token",
"user_info_url": "https://clerk.stiegleredtech.org/oauth/userinfo",
}

Scopes

Define the scopes required for your application. The scopes of email and profile are provided, but in the future, we can add a scope public_metadata for custom information we might want to share on the user.