Google 싱글 사인온
Entry, Professional, Enterprise, Enterprise Advanced 플랜에서 사용할 수 있습니다.
Google Apps를 싱글 사인온(SSO) 서비스로 설정하기
다음 절차에 따라 Mattermost가 Google을 팀 생성, 계정 생성, 로그인을 위한 싱글 사인온(SSO) 서비스로 사용하도록 설정합니다.
Google People API가 Google+ API를 대체했습니다. Google+ API는 공지에 따라 2019년 3월 7일자로 Google에서 지원 중단되었습니다.
1단계: Google API Manager에서 OpenID Connect 프로젝트 생성
- Google Cloud Platform으로 이동합니다.
- 왼쪽 사이드바에서 Credentials(사용자 인증 정보)를 선택합니다.
- Create Credentials를 선택한 뒤 OAuth client ID를 선택합니다.
- 애플리케이션 유형으로 Web application을 선택합니다.
- Name에
Mattermost-<your-company-name>을 입력하되,<your-company-name>은 조직 이름으로 바꿉니다. - Authorized redirect URIs 아래에서 Add URL을 선택한 뒤
{your-mattermost-url}/signup/google/complete를 입력합니다. 예:http://localhost:8065/signup/google/complete. - Create를 선택합니다.
- Your Client ID와 Your Client Secret 값을 복사해 임시 위치에 붙여 넣어 둡니다. 이 값들은 Mattermost 시스템 콘솔에 입력하게 됩니다.





2단계: Google People API 활성화
Google People API로 이동한 뒤 상단에서 Enable을 선택합니다. Google 시스템 전반에 반영되기까지 몇 분이 걸릴 수 있습니다.
3단계: Google Apps SSO를 위한 Mattermost 설정
- Mattermost에 로그인한 뒤 System Console > Authentication > OpenID Connect(시스템 콘솔 > 인증 > OpenID Connect)로 이동합니다.
- 서비스 공급자로 Google Apps를 선택합니다.
- Google Apps를 사용하는 OpenID Connect의 Discovery Endpoint는
https://accounts.google.com/.well-known/openid-configuration으로 미리 채워져 있습니다. - Google에서 받은 Client ID를 Mattermost에 붙여 넣습니다.
- Google에서 받은 Client Secret을 Mattermost에 붙여 넣습니다.
- Save를 선택합니다.
Mattermost가 사용자 인증에 OpenID Connect 또는 OAuth 2.0을 사용하도록 설정된 경우, 이름, 성, 사용자 이름은 Mattermost API로 변경할 수 없습니다. 이 속성들은 OpenID Connect 또는 OAuth 2.0이 권위 있는 소스여야 합니다.
Google Workspace에서 변경한 사용자 이름과 이메일 주소는 Mattermost로 자동 동기화되지 않습니다.
Google Apps SSO를 위한 Mattermost config.json 설정
시스템 콘솔을 사용하는 대신 Mattermost 서버의 config.json 파일에 Google 설정을 직접 추가할 수도 있습니다.
config.json을 root 권한으로 텍스트 편집기에서 엽니다. 보통/opt/mattermost/config에 있지만 시스템에 따라 다른 위치에 있을 수 있습니다.GoogleSettings섹션을 찾아 다음 내용을 추가하거나 갱신합니다.
"GoogleSettings": {
"Enable": true,
"Secret": "P-k9R-7E7ayX9LdddddWdXVg",
"Id": "1022ddddd5846-bkddddd4a1ddddd9d88j1kb6eqc.apps.googleusercontent.com",
"Scope": "profile openid email",
"AuthEndpoint": "",
"TokenEndpoint": "",
"UserApiEndpoint": "",
"DiscoveryEndpoint": "https://accounts.google.com/.well-known/openid-configuration",
"ButtonText": "",
"ButtonColor": ""
}
- 변경 사항을 저장한 뒤 Mattermost 서버를 재시작합니다. 서버가 재시작되면 사용자는 Google Apps로 로그인하기 전에 로그인 방식을 변경해야 합니다.
자주 묻는 질문
OpenID에서 LDAP 속성이나 그룹을 사용하려면 어떻게 하나요?
현재 LDAP 데이터는 OpenID와 호환되지 않습니다. 사용자의 팀, 채널, 그룹, 속성 관리를 LDAP에 의존하고 있다면, OpenID로 로그인한 사용자에 대해서는 이를 자동으로 처리할 수 없습니다. 사용자마다 LDAP 동기화가 필요하다면 로그인 공급자로 SAML이나 LDAP를 사용하는 것을 권장합니다. Keycloak처럼 일부 OpenID 공급자는 SAML을 대신 사용할 수 있습니다.