Great work! 😄
With SSO for major services, it might actually be much easier to fork sso-github or similar, instead. Reason being there sometimes are npm packages that help you log in to these services.
e.g. https://www.npmjs.com/package/passport-gitlab2
Then you can really just change the require from github to gitlab, and hopefully it would just work.
Almost all of the time it actually won't be that easy, but it sure beats doing it from the sso-oauth base! 😄