-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ADR to select an authentication approach #57
Conversation
|
||
We will need to authenticate users in TACOS to help manage access to the staff interface. The ideal authentication | ||
approach would involve Omniauth integration, as IS&T recently implemented Okta, and | ||
[a strategy already exists](https://github.com/omniauth/omniauth-okta) to authenticate in Okta using Omniauth. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should use that omniauth integration as it seems unsupported, https://github.com/omniauth/omniauth_openid_connect is more likely the path forward.
|
||
Ultimately, while all of these alternatives are appealing, there is a distinct advantage to choosing a gem that "just | ||
works" and is widely adopted. Much like our | ||
[decision to use CanCanCan for authorization](https://github.com/MITLibraries/tacos/blob/main/docs/architecture-decisions/0005-use-cancancan-for-authorization.md), I might not feel like Devise is the best authentication gem, but I have |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this will need an updated URL as that linked ADR is changing to 0006
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Solid write up, thanks!
I support the decision in this ADR as written 👍🏻
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this write-up. While I'm not separately familiar with the options for authentication gems, I agree with the framing you've provided, and support the decision you reach based on that framing.
While in general I like to build things ourselves, there are certain domains where it feels better to trust in the experience of others. Authentication is one of those domains.
Why these changes are being introduced: We will need authentication in TACOS for the staff UI. Relevant ticket(s): * [TCO-28](https://mitlibraries.atlassian.net/browse/TCO-28) How this addresses that need: This adds an ADR to select an authentication approach from among Devise, Clearance, Sorcery, AuthLogic, and a custom solution using built-in Rails security features. Side effects of this change: We ended up with two ADRs with the same number. Those have been renumbered for clarity.
f33739c
to
74404ba
Compare
Why these changes are being introduced:
We will need authentication in TACOS for the staff UI.
Relevant ticket(s):
How this addresses that need:
This adds an ADR to select an authentication approach from among Devise, Clearance, Sorcery, AuthLogic, and a custom solution using built-in Rails security features.
Side effects of this change:
The decision we make will affect how we implement authentication.