SSO on discourse with gitlab account?

Would it be possible to have single sign on in this discourse instance using the gitlab account ? It would avoid a new login/password pair.

This should be possible via the Gitlab OAuth plugin but, AFAIK, this plugin doesn’t work with already existing accounts. You will be asked to create a new user with the email from GitLab.

Ok, this is probably not a big deal since there are only a few existing accounts for now. Lets do it before opening the service more widely, so that new users can benefit from it.

I just enabled Github OAuth because this provider is available out of the box in Discourse. I am going to see how to do it with our Gitlab instance.

It works! I installed the required plugin (discourse-omniauth-gitlab).

I got the following error when trying:

An error has occurred

The requested scope is invalid, unknown, or malformed.

However, I already have a discourse account with the same login, so it may be come from that. Can anybody else give a try and report here ?

A colleague who does not have a Discourse account yet encountered the same issue this morning. I am going to investigate.

It works now. If you already have an account on Discourse and if its email matches the email of the Gitlab account, these two accounts are merged. Otherwise, a new account is created, using a number as suffix.

1 Like