plugin/auth-backend: update docs
This commit is contained in:
@@ -7,17 +7,46 @@ This is the backend part of the auth plugin.
|
||||
It responds to auth requests from the frontend, and fulfills them by delegating
|
||||
to the appropriate provider in the backend.
|
||||
|
||||
## Requirements
|
||||
|
||||
Needs AUTH_GOOGLE_CLIENT_ID and AUTH_GOOGLE_CLIENT_SECRET set in the environment for the backend to startup
|
||||
|
||||
## Local development
|
||||
|
||||
export AUTH_GOOGLE_CLIENT_ID=<INSERT_CLIENT_ID_HERE>
|
||||
read -r AUTH_GOOGLE_CLIENT_SECRET
|
||||
<COPY_PASTE_CLIENT_SECRET_HERE>
|
||||
export AUTH_GOOGLE_CLIENT_SECRET
|
||||
run `yarn start` in packages/backend folder
|
||||
Choose your OAuth Providers, replace `x` with actual value and then start backend:
|
||||
Example for Google Oauth Provider at root directory:
|
||||
|
||||
```bash
|
||||
export AUTH_GOOGLE_CLIENT_ID=x
|
||||
export AUTH_GOOGLE_CLIENT_SECRET=x
|
||||
yarn --cwd packages/backend start
|
||||
```
|
||||
|
||||
### Google
|
||||
|
||||
```bash
|
||||
export AUTH_GOOGLE_CLIENT_ID=x
|
||||
export AUTH_GOOGLE_CLIENT_SECRET=x
|
||||
```
|
||||
|
||||
### Github
|
||||
|
||||
```bash
|
||||
export AUTH_GITHUB_CLIENT_ID=x
|
||||
export AUTH_GITHUB_CLIENT_SECRET=x
|
||||
```
|
||||
|
||||
### Gitlab
|
||||
|
||||
```bash
|
||||
export GITLAB_BASE_URL=x # default is https://gitlab.com
|
||||
export AUTH_GITLAB_CLIENT_ID=x
|
||||
export AUTH_GITLAB_CLIENT_SECRET=x
|
||||
```
|
||||
|
||||
### Okta
|
||||
|
||||
```bash
|
||||
export AUTH_OKTA_AUDIENCE=x
|
||||
export AUTH_OKTA_CLIENT_ID=x
|
||||
export AUTH_OKTA_CLIENT_SECRET=x
|
||||
```
|
||||
|
||||
### SAML
|
||||
|
||||
|
||||
@@ -129,15 +129,20 @@ export function createGitlabProvider(
|
||||
const envProviders: EnvironmentHandlers = {};
|
||||
|
||||
for (const [env, envConfig] of Object.entries(providerConfig)) {
|
||||
const config = (envConfig as unknown) as OAuthProviderConfig;
|
||||
const { secure, appOrigin, baseUrl: oauthBaseUrl } = config;
|
||||
const {
|
||||
secure,
|
||||
appOrigin,
|
||||
clientId,
|
||||
clientSecret,
|
||||
audience,
|
||||
} = (envConfig as unknown) as OAuthProviderConfig;
|
||||
const callbackURLParam = `?env=${env}`;
|
||||
|
||||
const opts = {
|
||||
clientID: config.clientId,
|
||||
clientSecret: config.clientSecret,
|
||||
clientID: clientId,
|
||||
clientSecret: clientSecret,
|
||||
callbackURL: `${baseUrl}/gitlab/handler/frame${callbackURLParam}`,
|
||||
baseURL: oauthBaseUrl,
|
||||
baseURL: audience,
|
||||
};
|
||||
|
||||
if (!opts.clientID || !opts.clientSecret) {
|
||||
|
||||
@@ -47,10 +47,6 @@ export type OAuthProviderConfig = {
|
||||
* to the window that initiates an auth request.
|
||||
*/
|
||||
appOrigin: string;
|
||||
/**
|
||||
* Base URL of the auth provider.
|
||||
*/
|
||||
baseUrl: string;
|
||||
/**
|
||||
* Client ID of the auth provider.
|
||||
*/
|
||||
|
||||
@@ -80,9 +80,9 @@ export async function createRouter(
|
||||
development: {
|
||||
appOrigin: 'http://localhost:3000',
|
||||
secure: false,
|
||||
baseUrl: process.env.GITLAB_BASE_URL || 'https://gitlab.com',
|
||||
clientId: process.env.AUTH_GITLAB_CLIENT_ID!,
|
||||
clientSecret: process.env.AUTH_GITLAB_CLIENT_SECRET!,
|
||||
audience: process.env.GITLAB_BASE_URL! || 'https://gitlab.com',
|
||||
},
|
||||
},
|
||||
saml: {
|
||||
|
||||
Reference in New Issue
Block a user