-
Notifications
You must be signed in to change notification settings - Fork 15
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
✨ (api) Allow multiple authentication methods (oidc & basic) #473
✨ (api) Allow multiple authentication methods (oidc & basic) #473
Conversation
bd6fcb6
to
df62058
Compare
07477f3
to
bb2c356
Compare
0e23d4e
to
a4802c9
Compare
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.
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.
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.
0433c93
to
c7d8068
Compare
e0195b6
to
d49c8b8
Compare
21c7129
to
9d8d6eb
Compare
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.
LGTM! 🎉
Previously, Ralph allowed Basic or OIDC authentication, but not simultaneously. This PR allows to ralph to handle both at once, answer a use case where machine users connect through Basic auth, while human users use OIDC (for example).
1fe8b22
to
e1889d2
Compare
Purpose
Currently, an instance of Ralph LRS has a fixed auth method (basic auth and OIDC). The suggestion is to allow multiple auth methods. An example use case could be: "an LMS writes to Ralph LRS via basic Auth; while data analysts fetch from Ralph using OIDC".
Proposal
It is proposed to change
RALPH_RUNSERVER_AUTH_BACKEND
toRALPH_RUNSERVER_AUTH_BACKENDS
and to make it accept comma separated lists as valuesRALPH_RUNSERVER_AUTH_BACKENDS=basic,oidc
.The auth method for incoming requests will be chosen based on header information (
basic
,oidc
)