Implement GitLab based SSO for Acorn (leveraging OpenID provider)
Implement support for GitLab based SSO for Acorn. As GitLab is quickly becoming the primary way that we access internal resources (source code projects and Mattermost), it makes sense to consolidate systems access using the GitLab credentials. The SSO implementation should be able to differentiate between staff and client logins, and set the user model permissions for Acorn appropriately.
Development Tasks
-
Modify django-auth-gitlab with needed methods and components to allow OpenID authentication within the standard Oak-Tree project structure (leveraging lib/microservices methods and constructs, for example)Implemented, see commit 8c945cd0 -
Research frontend workflow needed to allow users to use GitLab credentials for Acorn (and by extensions other Guru Labs sites)A link (styled as a button) is sufficient to begin the workflow. It redirects the user to the GitLab instance and prompts for login. After successful login, it redirects the user back to the appropriate place on the site and maintains information about state (such as where the user should be directed after Acorn creates a session) -
Determine how OpenID credentials caching works so if a user is currently authenticated to GitLab that the credentials do not need to be re-entered on a third party site (the Mattermost authentication process is the desired goal)The site respects logged in users and immediately redirects as part of the workflow.
Edited by Rob Oakes