Click the OAuth consent screen header and enter Mattermost as the Product name to show users. Click Save.
Under the Credentials header, click Create credentials, choose OAuth client ID and select Web Application.
Under Restrictions and Authorized redirect URIs enter /signup/google/complete (example: http://localhost:8065/signup/google/complete). Click Create.
Save the client ID and client secret to later complete the fields below.
Finally, go to Google+ API and click Enable. This might take a few minutes to propagate through Google's systems.
Complete the Client ID and Client Secret fields below.
",
+ "admin.google.authTitle": "Auth Endpoint:",
+ "admin.google.clientIdDescription": "The Client ID you received when registering your application with Google.",
+ "admin.google.clientIdExample": "Ex \"7602141235235-url0fhs1mayfasbmop5qlfns8dh4.apps.googleusercontent.com\"",
+ "admin.google.clientIdTitle": "Client ID:",
+ "admin.google.clientSecretDescription": "The Client Secret you received when registering your application with Google.",
+ "admin.google.clientSecretExample": "Ex \"H8sz0Az-dDs2p15-7QzD231\"",
+ "admin.google.clientSecretTitle": "Client Secret:",
+ "admin.google.tokenTitle": "Token Endpoint:",
+ "admin.google.userTitle": "User API Endpoint:",
+ "admin.office365.EnableHtmlDesc": "
Log in to your Microsoft or Office 365 account. Make sure it's the account on the same tenant that you would like users to log in with.
Under Application Secrets, click Generate New Password and save it to later complete the field below.
Under Platforms, click Add Platform, choose Web and enter /signup/office365/complete (example: http://localhost:8065/signup/office365/complete) under Redirect URIs. Also uncheck Allow Implicit Flow.
Finally, click Save and complete the Application ID and Application Secret Password fields below.
",
+ "admin.office365.authTitle": "Auth Endpoint:",
+ "admin.office365.clientIdDescription": "The Application/Client ID you received when registering your application with Microsoft.",
+ "admin.office365.clientIdExample": "Ex \"adf3sfa2-ag3f-sn4n-ids0-sh1hdax192qq\"",
+ "admin.office365.clientIdTitle": "Application ID:",
+ "admin.office365.clientSecretDescription": "The Application Secret Password you generated when registering your application with Microsoft.",
+ "admin.office365.clientSecretExample": "Ex \"shAieM47sNBfgl20f8ci294\"",
+ "admin.office365.clientSecretTitle": "Application Secret Password:",
+ "admin.office365.tokenTitle": "Token Endpoint:",
+ "admin.office365.userTitle": "User API Endpoint:",
+ "admin.oauth.off": "Do not allow sign-in via an OAuth 2.0 provider",
+ "admin.oauth.gitlab": "GitLab",
+ "admin.oauth.google": "Google Apps",
+ "admin.oauth.office365": "Office 365",
+ "admin.oauth.select": "Select OAuth 2.0 service provider:",
"admin.image.amazonS3BucketDescription": "Name you selected for your S3 bucket in AWS.",
"admin.image.amazonS3BucketExample": "Ex \"mattermost-media\"",
"admin.image.amazonS3BucketTitle": "Amazon S3 Bucket:",
@@ -601,6 +627,7 @@
"admin.sidebar.login": "Login",
"admin.sidebar.logs": "Logs",
"admin.sidebar.notifications": "Notifications",
+ "admin.sidebar.oauth": "OAuth 2.0",
"admin.sidebar.other": "OTHER",
"admin.sidebar.password": "Password",
"admin.sidebar.policy": "Policy",
@@ -1174,6 +1201,7 @@
"login.forgot": "I forgot my password",
"login.gitlab": "GitLab",
"login.google": "Google Apps",
+ "login.office365": "Office 365",
"login.invalidPassword": "Your password is incorrect.",
"login.ldapUsername": "LDAP Username",
"login.ldapUsernameLower": "LDAP username",
@@ -1399,6 +1427,7 @@
"signup_user_completed.expired": "You've already completed the signup process for this invitation or this invitation has expired.",
"signup_user_completed.gitlab": "with GitLab",
"signup_user_completed.google": "with Google",
+ "signup_user_completed.office365": "with Office 365",
"signup_user_completed.haveAccount": "Already have an account?",
"signup_user_completed.invalid_invite": "The invite link was invalid. Please speak with your Administrator to receive an invitation.",
"signup_user_completed.lets": "Let's create your account",
@@ -1567,6 +1596,8 @@
"user.settings.general.confirmEmail": "Confirm Email",
"user.settings.general.email": "Email",
"user.settings.general.emailGitlabCantUpdate": "Login occurs through GitLab. Email cannot be updated. Email address used for notifications is {email}.",
+ "user.settings.general.emailGoogleCantUpdate": "Login occurs through Google. Email cannot be updated. Email address used for notifications is {email}.",
+ "user.settings.general.emailOffice365CantUpdate": "Login occurs through Office 365. Email cannot be updated. Email address used for notifications is {email}.",
"user.settings.general.emailHelp1": "Email is used for sign-in, notifications, and password reset. Email requires verification if changed.",
"user.settings.general.emailHelp2": "Email has been disabled by your system administrator. No notification emails will be sent until it is enabled.",
"user.settings.general.emailHelp3": "Email is used for sign-in, notifications, and password reset.",
@@ -1584,6 +1615,8 @@
"user.settings.general.imageUpdated": "Image last updated {date}",
"user.settings.general.lastName": "Last Name",
"user.settings.general.loginGitlab": "Login done through GitLab ({email})",
+ "user.settings.general.loginGoogle": "Login done through Google ({email})",
+ "user.settings.general.loginOffice365": "Login done through Office 365 ({email})",
"user.settings.general.loginLdap": "Login done through LDAP ({email})",
"user.settings.general.loginSaml": "Login done through SAML ({email})",
"user.settings.general.newAddress": "New Address: {email} Check your email to verify the above address.",
@@ -1663,7 +1696,9 @@
"user.settings.security.currentPassword": "Current Password",
"user.settings.security.currentPasswordError": "Please enter your current password",
"user.settings.security.emailPwd": "Email and Password",
- "user.settings.security.gitlab": "GitLab SSO",
+ "user.settings.security.gitlab": "GitLab",
+ "user.settings.security.google": "Google",
+ "user.settings.security.office365": "Office 365",
"user.settings.security.lastUpdated": "Last updated {date} at {time}",
"user.settings.security.ldap": "LDAP",
"user.settings.security.loginGitlab": "Login done through Gitlab",
@@ -1698,6 +1733,7 @@
"user.settings.security.switchEmail": "Switch to using email and password",
"user.settings.security.switchGitlab": "Switch to using GitLab SSO",
"user.settings.security.switchGoogle": "Switch to using Google SSO",
+ "user.settings.security.switchOffice365": "Switch to using Office 365 SSO",
"user.settings.security.switchLdap": "Switch to using LDAP",
"user.settings.security.switchSaml": "Switch to using SAML SSO",
"user.settings.security.title": "Security Settings",
diff --git a/webapp/images/office365Logo.png b/webapp/images/office365Logo.png
new file mode 100644
index 0000000000..59670460e8
Binary files /dev/null and b/webapp/images/office365Logo.png differ
diff --git a/webapp/routes/route_admin_console.jsx b/webapp/routes/route_admin_console.jsx
index 1465bfa6b8..291ba65f8a 100644
--- a/webapp/routes/route_admin_console.jsx
+++ b/webapp/routes/route_admin_console.jsx
@@ -14,6 +14,7 @@ import PolicySettings from 'components/admin_console/policy_settings.jsx';
import LogSettings from 'components/admin_console/log_settings.jsx';
import EmailAuthenticationSettings from 'components/admin_console/email_authentication_settings.jsx';
import GitLabSettings from 'components/admin_console/gitlab_settings.jsx';
+import OAuthSettings from 'components/admin_console/oauth_settings.jsx';
import LdapSettings from 'components/admin_console/ldap_settings.jsx';
import SamlSettings from 'components/admin_console/saml_settings.jsx';
import SignupSettings from 'components/admin_console/signup_settings.jsx';
@@ -88,6 +89,10 @@ export default (
path='gitlab'
component={GitLabSettings}
/>
+