SSO for Github Enterprise was added at 6d63f57, but it seemed not to work with
GitHub.
The curlpits were:
* The url to get the authenticate user is /user, not /api/v3/user.
* Users should set their public email for GitHub.
Describe the detail in GitHub.md and rename the original Github.md to
GitHub-Enterprise.md.
1.5 KiB
Configuring GitHub Single-Sign-On (unofficial)
Note: Because the authentication interface of GitHub is similar to that of GitLab, the GitLab SSO feature can be used to unofficially also support GitHub SSO.
Follow these steps to configure Mattermost to use Github as a single-sign-on (SSO) service for team creation, account creation and sign-in using the GitLab SSO interface.
- Login to your GitHub account and go to the Applications section in Profile Settings.
- Add a new application called "Mattermost" with the following as Authorization callback URL:
<your-mattermost-url>(example: http://localhost:8065)
-
Submit the application and copy the given Id and Secret into the appropriate GitLabSettings fields in config/config.json
-
Also in config/config.json, set Enable to
truefor the gitlab section, leave Scope blank and use the following for the endpoints:
- AuthEndpoint:
https://github.com/login/oauth/authorize - TokenEndpoint:
https://github.com/login/oauth/access_token - UserApiEndpoint:
https://api.github.com/user
-
(Optional) If you would like to force all users to sign-up with GitHub only, in the ServiceSettings section of config/config.json set DisableEmailSignUp to
true. -
Restart your Mattermost server to see the changes take effect.
-
Tell the users to set their public email for GitHub at the Public profile page. Mattermost uses the email to create account.