-
-
Notifications
You must be signed in to change notification settings - Fork 430
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
[18.0][IMP] auth_jwt: allow more authorization options over aud #753
base: 18.0
Are you sure you want to change the base?
Conversation
Because it allows validating with a list of audiences.
Make it work with pyjwt.
This method is useful for public endpoints that need to work for anonymous user, but can be enhanced when an authenticated user is know. A typical use case is a "add to cart" enpoint that can work for anonymous users, but can be enhanced by binding the cart to a known customer when the authenticated user is known.
The unit tests were broken for non-functional reasons (interaction with the mock) and is easier to implement as integration test.
Distinguish errors that lead to a 401 from internal configuration errors.
Extract _parse_bearer_authorization function for easier reuse by fastapi_auth_jwt
Currently translated at 100.0% (64 of 64 strings) Translation: server-auth-16.0/server-auth-16.0-auth_jwt Translate-URL: https://translation.odoo-community.org/projects/server-auth-16-0/server-auth-16-0-auth_jwt/es/
Currently translated at 89.0% (57 of 64 strings) Translation: server-auth-16.0/server-auth-16.0-auth_jwt Translate-URL: https://translation.odoo-community.org/projects/server-auth-16-0/server-auth-16-0-auth_jwt/it/
Currently translated at 100.0% (64 of 64 strings) Translation: server-auth-16.0/server-auth-16.0-auth_jwt Translate-URL: https://translation.odoo-community.org/projects/server-auth-16-0/server-auth-16-0-auth_jwt/it/
Currently translated at 100.0% (64 of 64 strings) Translation: server-auth-16.0/server-auth-16.0-auth_jwt Translate-URL: https://translation.odoo-community.org/projects/server-auth-16-0/server-auth-16-0-auth_jwt/it/
b3e8a9b
to
538beb2
Compare
538beb2
to
5da46e0
Compare
@sbidoul working aws cognito as a token provider, there are no aud. but we do have scopes and user groups. would it be useful to replace the aud with these new tests to validate a server to server account has proper scope or a user has a group? the tests are pretty sloppy ( any intersection of the sets) can refine if useful. another option might be a simple disable but really do need the scope test in our case. server-auth/auth_oidc/models/res_users.py Line 72 in 035093d
|
7342133
to
5da46e0
Compare
I'm ok to make Then adding validation on additional claim sounds ok too. I would not override the meaning of the audience field, though. How about an |
fabb83e
to
f5e43c3
Compare
optional aud only |
@kobros-tech can you add some tests?
probably want to require one of the possible types too. so maybe a type selection [aud,scope,group] then the aud_text to use to parse the match value?
need to rebase after: #752 merges
or