-
Notifications
You must be signed in to change notification settings - Fork 11
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
OpenIDConnect Policy RFC #114
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Alex Snaps <[email protected]>
36e81c2
to
7baefe8
Compare
|
GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
---|---|---|---|---|---|
15561461 | Triggered | GitLab OAuth Application Token | 7baefe8 | rfcs/0000-oidc-policy.md | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
Signed-off-by: Alex Snaps <[email protected]>
Just to be clear: those are fake 🤦 |
Signed-off-by: Alex Snaps <[email protected]>
Signed-off-by: Alex Snaps <[email protected]>
Signed-off-by: Alex Snaps <[email protected]>
Signed-off-by: Alex Snaps <[email protected]>
Co-authored-by: Thomas Maas <[email protected]>
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.
nice RFC. I get how it works as a layman, so that's probably a good thing. one comment/q re: cookies
|
||
It is important to note here that the access token is to be negotiated stored by the client. While this may change in | ||
the future, currently the token is to either be provided by the appropriate HTTP header (`Authorization: Bearer`, which | ||
is the default source), or by a Cookie. |
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.
impl detail, but thoughts on cookie name? oidc connect novice, but unaware of a convention (as opposed to the authz: bearer header)
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.
thoughts on what has precedence if both present?
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.
tokenSource:
would be overridden to e.g. cookie
. So either we make it aware of the name
to look for (e.g. cookie["auth"]
; or make it another config bit (e.g. tokenSourceKey
?); and/or with a sensible default (e.g. Bearer
?); I'm wondering if this wouldn't best be expressed as CEL ... "somehow".
wrt to precedence, it don't matter, as the user specify what "source" to use.
Nice API I feel I cannot spot missing required fields, or unneeded fields until we do some hands on PoC. For instance, not sure the clientID is required field as the client is present in the token (the PS: I would pick keycloak as OIDC provider, but gitlab.com is also good, why not! |
Little confused here: what token? The
The plan is to have this working with keycloak too, as well as hopefully most (all?) providers out there. The reason I didn't use keycloak is two fold:
|
I am referring to the JWT token. I cannot tell for sure, as I would need to test it. AFAICT, the downstream user first gets a valid token with provided client_id (following oauth2 workflow for an specific flow type). That (jwt) token is then added to the request. The gateway can download (public) keys (belonging to one SSO realm and not client_id) to verify the JWT and once validated, it can trust on the provided data from the token, one field of which is the client_id. Thus, the gateway does not need any configuration having a client_id to verify JWT tokens. Only the SSO provider and realm. I could be wrong :) |
I get even more confused now! As you say you need a
I must be completely missing the point you are trying to make... 😕 |
The point was that it isn't required per se to "merely" do token verify the token, which is indeed correct. But token verification isn't enough and this proposal concerns itself with the entire flow. So the I think this talking point can be considered "resolved" |
Signed-off-by: Alex Snaps <[email protected]>
Signed-off-by: Alex Snaps <[email protected]>
86ede94
to
a1eae14
Compare
Signed-off-by: Alex Snaps <[email protected]>
Signed-off-by: Alex Snaps <[email protected]>
I started this draft RFC describing how I plan on implementing the infrastructure that would support implementing such |
No description provided.