diff options
author | Yi EungJun <eungjun.yi@navercorp.com> | 2015-12-01 16:39:27 +0900 |
---|---|---|
committer | Yi EungJun <eungjun.yi@navercorp.com> | 2015-12-02 13:23:57 +0900 |
commit | 6d63f5703c1849b688aaef6570e9b366b70eefab (patch) | |
tree | 25a15f2846dca5076bdfd694715d28ac67723ebb | |
parent | 91c092cc21a0401547c51c026fa54699a4791234 (diff) | |
download | chat-6d63f5703c1849b688aaef6570e9b366b70eefab.tar.gz chat-6d63f5703c1849b688aaef6570e9b366b70eefab.tar.bz2 chat-6d63f5703c1849b688aaef6570e9b366b70eefab.zip |
Make the Gitlab SSO Support compatible with Github Enterprise
See doc/integrations/Single-Sign-On/Github.md for the usage.
Note: I thought it should work also with Github.com but it failed with "Bad
token type" error.
-rw-r--r-- | doc/integrations/Single-Sign-On/Github.md | 18 | ||||
-rw-r--r-- | model/gitlab.go | 7 |
2 files changed, 24 insertions, 1 deletions
diff --git a/doc/integrations/Single-Sign-On/Github.md b/doc/integrations/Single-Sign-On/Github.md new file mode 100644 index 000000000..12b2c537e --- /dev/null +++ b/doc/integrations/Single-Sign-On/Github.md @@ -0,0 +1,18 @@ +## Configuring GitHub Enterprise Single-Sign-On + +Follow these steps to configure Mattermost to use GitHub Enterprise as a single-sign-on (SSO) service for team creation, account creation and sign-in. + +1. Login to your GitHub Enterprise account and go to the Applications section in Profile Settings. +2. Add a new application called "Mattermost" with the following as Authorization callback URL: + * `<your-mattermost-url>` (example: http://localhost:8065) + +3. Submit the application and copy the given _Id_ and _Secret_ into the appropriate _GitLabSettings_ fields in config/config.json + +4. Also in config/config.json, set _Enable_ to `true` for the _gitlab_ section, leave _Scope_ blank and use the following for the endpoints: + * _AuthEndpoint_: `https://<your-github-enterprise-url>/oauth/authorize` (example https://github.com/oauth/authorize) + * _TokenEndpoint_: `https://<your-github-enterprise-url>/oauth/access_token` + * _UserApiEndpoint_: `https://<your-github-enterprise-url>/api/v3/user` + +5. (Optional) If you would like to force all users to sign-up with GitHub Enterprise only, in the _ServiceSettings_ section of config/config.json set _DisableEmailSignUp_ to `true`. + +6. Restart your Mattermost server to see the changes take effect. diff --git a/model/gitlab.go b/model/gitlab.go index 9f86c7b72..2a8756807 100644 --- a/model/gitlab.go +++ b/model/gitlab.go @@ -17,13 +17,18 @@ const ( type GitLabUser struct { Id int64 `json:"id"` Username string `json:"username"` + Login string `json:"login"` Email string `json:"email"` Name string `json:"name"` } func UserFromGitLabUser(glu *GitLabUser) *User { user := &User{} - user.Username = CleanUsername(glu.Username) + username := glu.Username + if username == "" { + username = glu.Login + } + user.Username = CleanUsername(username) splitName := strings.Split(glu.Name, " ") if len(splitName) == 2 { user.FirstName = splitName[0] |