Strapi plugin strapi-plugin-sso
This plugin can provide single sign-on.
You will be able to log in to the administration screen using one of the following providers:
Please read the documents for some precautions.
If possible, consider using the Gold Plan features.
Version
NodeJS | Strapi | strapi-plugin-sso |
---|
16.0.0 - 21.0.0 | v4 | 0.*.* |
18.0.0 - 22.0.0 | v5 | 1.*.* |
Easy to install
yarn add strapi-plugin-sso
or
npm i strapi-plugin-sso
Requirements
- strapi-plugin-sso
- Google Account or AWS Cognito UserPool or a OIDC provider
Example Configuration
module.exports = ({env}) => ({
'strapi-plugin-sso': {
enabled: true,
config: {
REMEMBER_ME: false,
GOOGLE_OAUTH_CLIENT_ID: '[Client ID created in GCP]',
GOOGLE_OAUTH_CLIENT_SECRET: '[Client Secret created in GCP]',
GOOGLE_OAUTH_REDIRECT_URI: 'http://localhost:1337/strapi-plugin-sso/google/callback',
GOOGLE_ALIAS: '',
GOOGLE_GSUITE_HD: '',
COGNITO_OAUTH_CLIENT_ID: '[Client ID created in AWS Cognito]',
COGNITO_OAUTH_CLIENT_SECRET: '[Client Secret created in AWS Cognito]',
COGNITO_OAUTH_DOMAIN: '[OAuth Domain created in AWS Cognito]',
COGNITO_OAUTH_REDIRECT_URI: 'http://localhost:1337/strapi-plugin-sso/cognito/callback',
COGNITO_OAUTH_REGION: 'ap-northeast-1',
AZUREAD_OAUTH_REDIRECT_URI: 'http://localhost:1337/strapi-plugin-sso/azuread/callback',
AZUREAD_TENANT_ID: '[Tenant ID created in AzureAD]',
AZUREAD_OAUTH_CLIENT_ID: '[Client ID created in AzureAD]',
AZUREAD_OAUTH_CLIENT_SECRET: '[Client Secret created in AzureAD]',
AZUREAD_SCOPE: 'user.read',
OIDC_REDIRECT_URI: 'http://localhost:1337/strapi-plugin-sso/oidc/callback',
OIDC_CLIENT_ID: '[Client ID from OpenID Provider]',
OIDC_CLIENT_SECRET: '[Client Secret from OpenID Provider]',
OIDC_SCOPES: 'openid profile email',
OIDC_AUTHORIZATION_ENDPOINT: '[API Endpoint]',
OIDC_TOKEN_ENDPOINT: '[API Endpoint]',
OIDC_USER_INFO_ENDPOINT: '[API Endpoint]',
OIDC_USER_INFO_ENDPOINT_WITH_AUTH_HEADER: false,
OIDC_GRANT_TYPE: 'authorization_code',
OIDC_FAMILY_NAME_FIELD: 'family_name',
OIDC_GIVEN_NAME_FIELD: 'given_name',
USE_WHITELIST: true
}
}
})
Of the above, the environment variable for the provider you wish to use is all that is needed.
Documentation(English)
Google Single Sign On Setup
Google Single Sign On Specifications
Cognito Single Sign On Setup
AzureAD Single Sign On Setup
OIDC Single Sign On Setup
whitelist
Documentation(Japanese)
Description
Google Single Sign On Setup
Google Single Sign-On Specifications
Cognito Single Sign On Setup
Cognito Single Sign-On Specifications
TODO AzureAD Single Sign On Setup
TODO OIDC Single Sign On Setup
Demo
![DemoMovie CognitoDemo](https://github.com/yasudacloud/strapi-plugin-sso/blob/main/docs/demo.gif?raw=true)