[SOLVED] "Sign-in Method" option unavailable after Gitlab 8.9 upgrade

We recently migrated to GitLab 8.9 / Mattermost 3.1, and one of our users discovered that he was unable to log back in. Turns out he had never moved his account off of email sign-in, and since I had disabled email sign-in (allowing only GitLab SSO), he was now unable to log back in.

I re-enabled email sign-in so he could get back in and change his Sign-in Method under Account Settings > Security. He reported that this option does not appear for him. Confused, I logged in myself and checked the menu - sure enough, I do not have a “Sign-in Method” option available, either.

I have reloaded the page, cleared cache, tried different browsers, restarted the Mattermost service itself, and even run a gitlab-ctl reconfigure, but to no avail. The “Sign-in Method” is simply not available under Account Settings > Security, and users are thus unable to change their sign-in method.

Any help would be greatly appreciated.

Hi @cr-slindsay,

Haven’t heard of this previously, could you try creating a new account using email auth and see if the menu option shows up?

I’ve got a similar problem. I’ve installed gitlab and mattermost via deb package.
Then I imported data from slack and now I can only login vi email and I’ve got no option to change to gitlab SSO.

Gitlab Version (8.11.4)

Can you share a screenshot of your GitLab SSO screen in the System Console and your Account Settings > Security screen?

If GitLab SSO is enabled, you should be able to change sign-in methods.

These are my settings:

I use gitlab SSO with my admin user. This one is not created by import. Only the user accounts are affected

Thanks, that is odd, can you share an image of the login screen? If GitLab SSO is enabled it should show the option. I’m wondering if the GitLab SSO settings aren’t saving properly for some reason…

There is an option to login with gitlab.

  1. If I login with admin account (created manually) it works!
  2. If I use an user account (created by import) it does not work:

Mattermost braucht Ihre Hilfe:
Mit dieser E-Mail-Adresse ist bereits ein Account verknüpft, der nicht die Anmeldemethode gitlab verwendet. Bitte verwenden Sie email zum anmelden.

I now you do not advise to play with the database, but is there an workaround to enable sso for these imported accounts?

Hi @lioman - are you still having trouble with the imported accounts?

If you are, can you:

  1. Go to the System Console > Teams > Users list, and let me know what sign-in method it says for the imported accounts?

  2. Can you let me know your config settings (with any confidential information removed)?

  1. It says E-Mail

  2. It is configured via gitlab config

#####################
# GitLab Mattermost #
#####################
mattermost_external_url 'https://example.com'
mattermost['enable'] = true
mattermost['service_use_ssl'] = false
mattermost['service_enable_incoming_webhooks'] = true
mattermost['service_enable_commands'] = true
mattermost['service_enable_only_admin_integrations'] = false
mattermost['team_site_name'] = "Example Mattermost"
mattermost['team_enable_team_creation'] = false
mattermost['gitlab_enable'] = true
mattermost['gitlab_id'] = "alphanumeric_key"
mattermost['gitlab_secret'] = "alphanumeric_key"
mattermost['gitlab_auth_endpoint'] = "https://example.com/oauth/authorize"
mattermost['gitlab_token_endpoint'] = "https://example.com/oauth/token"
mattermost['gitlab_user_api_endpoint'] = "https://example.com/api/v3/user"
mattermost['email_enable_sign_up_with_email'] = false
mattermost['email_send_email_notifications'] = true
mattermost['email_smtp_username'] = "gitlab@example.com"
mattermost['email_smtp_password'] = "supersecurepassword"
mattermost['email_smtp_server'] = "smtp.mailprovider.com"
mattermost['email_smtp_port'] = "465"
mattermost['email_connection_security'] = 'TLS'
mattermost['email_feedback_name'] = "Something"
mattermost['email_feedback_email'] = "no-reply@examle.com"
mattermost['email_feedback_organization'] = "The Example Ltd."
mattermost['email_send_push_notifications'] = true
mattermost['email_push_notification_server'] = "http://push-test.mattermost.com"
mattermost['email_push_notification_contents'] = "generic"
)

Okay thanks, I was able to reproduce the bug where the option to switch to GitLab sign up isn’t appearing: https://mattermost.atlassian.net/browse/PLT-4713

We’re going to try to fix this for v3.5 (November 16th release), after it’s fixed the email users should be able to log in with email and then go to Account Settings > Security > Sign-in Method and switch to GitLab.

Thanks!! - it works with new release

@lionman, pleased this issue is resolved for you! I’ll mark it solved for now.

Hi there,
We have the same bug : Mattermost 4.6.1 with Gitlab 10.1.4 : is there something special to do to enable this feature ? It has disappear but we cannot know when…

Hi @BrunoSpy,

Not sure whether this GitLab configuration documentation helps?

Just to be clear : signing in with Gitlab works. But users don’t have the ability to switch from email auth to gitlab auth.