Skip to content

@studiocms/oauth

This plugin integrates OAuth providers for StudioCMS, enabling authentication via various OAuth providers. It sets up the necessary configuration, including required environment variables and endpoint paths.

The callback URL should be set to one of the following paths based on your environment:

EnvironmentCallback URL
Productionhttps://your-domain.tld/studiocms_api/auth/<provider>/callback
Testing & Devhttp://localhost:4321/studiocms_api/auth/<provider>/callback

Add this plugin in your StudioCMS config. (studiocms.config.mjs)

studiocms.config.mjs
import { defineStudioCMSConfig } from 'studiocms/config';
import auth0 from '@studiocms/oauth/auth0';
export default defineStudioCMSConfig({
// other options here
plugins: [auth0()]
});
.env
CMS_AUTH0_CLIENT_ID=<your-client-id>
CMS_AUTH0_CLIENT_SECRET=<your-client-secret>
CMS_AUTH0_DOMAIN=<your-domain>
CMS_AUTH0_REDIRECT_URI=<your-redirect-uri>

Add this plugin in your StudioCMS config. (studiocms.config.mjs)

studiocms.config.mjs
import { defineStudioCMSConfig } from 'studiocms/config';
import github from '@studiocms/oauth/github';
export default defineStudioCMSConfig({
// other options here
plugins: [github()]
});
.env
CMS_GITHUB_CLIENT_ID=<your-client-id>
CMS_GITHUB_CLIENT_SECRET=<your-client-secret>
CMS_GITHUB_REDIRECT_URI=<your-redirect-uri>

Add this plugin in your StudioCMS config. (studiocms.config.mjs)

studiocms.config.mjs
import { defineStudioCMSConfig } from 'studiocms/config';
import discord from '@studiocms/oauth/discord';
export default defineStudioCMSConfig({
// other options here
plugins: [discord()]
});
.env
CMS_DISCORD_CLIENT_ID=<your-client-id>
CMS_DISCORD_CLIENT_SECRET=<your-client-secret>
CMS_DISCORD_REDIRECT_URI=<your-redirect-uri>

Add this plugin in your StudioCMS config. (studiocms.config.mjs)

studiocms.config.mjs
import { defineStudioCMSConfig } from 'studiocms/config';
import google from '@studiocms/oauth/google';
export default defineStudioCMSConfig({
// other options here
plugins: [google()]
});
.env
CMS_GOOGLE_CLIENT_ID=<your-client-id>
CMS_GOOGLE_CLIENT_SECRET=<your-client-secret>
CMS_GOOGLE_REDIRECT_URI=<your-redirect-uri>