-
Notifications
You must be signed in to change notification settings - Fork 176
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
Enable OAuth2 authentication. #646
base: master
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for opal-docs canceled.
|
Hi @ojecborec, Thanks again for the help & contribution.
|
Following PR is enabling OAuth2 third party authentication for both server and client. Client would send access token generated by Client Credentials grant and server would validate this token by either calling introspect endpoint or reading JWT signature. I'll have a look at pre-commit checks and failing tests. |
If I understand correctly some pre-commit checks are failing on code like this
Why is |
Can you help me understand how is this test failure related to code I'm submitting (I'm not a Python developer) ?
|
@ojecborec I'll help with Python you'll help with OAuth2 :) (As I'm not an expert, although willing to make myself more familiar of course). I still don't understand what's the missing use case for OPAL (from user's high level perspective) - Do you want opal-client to authenticate to opal-server using a specific Google account? (OAuth2 is usually used for authenticating web applications on behalf of actual people, isn't it?). Regarding pre-commit - it enforces the "Black" formatting. You can install Regarding the tests - Yeah seems like the stack trace is misleading. I believe the test raised an exception before
|
@ojecborec Apologies - I see now similar failures on other PRs, so those probably don't have to do with you changes. |
docs(obtain-jwt-token.mdx): curl request data-raw should be valid json
…ng-opal-tests-in-github-actions Fix data updater tests
…l-application-tests Introduce docker & bash based application tests
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.7 to 4.0.8. - [Release notes](https://github.com/micromatch/micromatch/releases) - [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md) - [Commits](micromatch/micromatch@4.0.7...4.0.8) --- updated-dependencies: - dependency-name: micromatch dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [axios](https://github.com/axios/axios) from 1.7.3 to 1.7.5. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.7.3...v1.7.5) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [webpack](https://github.com/webpack/webpack) from 5.91.0 to 5.94.0. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](webpack/webpack@v5.91.0...v5.94.0) --- updated-dependencies: - dependency-name: webpack dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]>
@ojecborec - You can rebase onto master as tests should be fixed there now |
…unner-piping-logs-does-not-always-work fix _pipe_log_stream not running consistently for monitored subprocess
# Conflicts: # packages/requires.txt # Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-client/opal_client/data/updater.py # packages/opal-client/opal_client/policy/updater.py
# Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-common/opal_common/authentication/authenticator.py # packages/opal-common/opal_common/authentication/jwk.py # packages/opal-common/opal_common/authentication/oauth2.py # packages/opal-common/opal_common/config.py # packages/opal-server/opal_server/authentication/authenticator.py # packages/opal-server/opal_server/data/api.py # packages/opal-server/opal_server/server.py # packages/requires.txt
# Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-client/opal_client/data/updater.py # packages/opal-client/opal_client/policy/fetcher.py # packages/opal-client/opal_client/policy/updater.py # packages/opal-common/opal_common/authentication/authenticator.py # packages/opal-common/opal_common/authentication/oauth2.py # packages/opal-common/opal_common/config.py # packages/opal-common/opal_common/fetcher/providers/http_fetch_provider.py # packages/opal-server/opal_server/authentication/authenticator.py # packages/opal-server/opal_server/server.py # packages/requires.txt
# Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-common/opal_common/authentication/authenticator.py # packages/opal-common/opal_common/authentication/jwk.py # packages/opal-common/opal_common/authentication/oauth2.py # packages/opal-common/opal_common/config.py # packages/opal-server/opal_server/authentication/authenticator.py # packages/opal-server/opal_server/data/api.py # packages/opal-server/opal_server/server.py # packages/requires.txt
# Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-client/opal_client/data/updater.py # packages/opal-client/opal_client/policy/fetcher.py # packages/opal-client/opal_client/policy/updater.py # packages/opal-common/opal_common/authentication/authenticator.py # packages/opal-common/opal_common/authentication/oauth2.py # packages/opal-common/opal_common/config.py # packages/opal-common/opal_common/fetcher/providers/http_fetch_provider.py # packages/opal-server/opal_server/authentication/authenticator.py # packages/opal-server/opal_server/server.py # packages/requires.txt
# Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-common/opal_common/authentication/authenticator.py # packages/opal-common/opal_common/authentication/jwk.py # packages/opal-common/opal_common/authentication/oauth2.py # packages/opal-common/opal_common/config.py # packages/opal-server/opal_server/authentication/authenticator.py # packages/opal-server/opal_server/data/api.py # packages/opal-server/opal_server/server.py # packages/requires.txt
# Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-client/opal_client/data/updater.py # packages/opal-client/opal_client/policy/fetcher.py # packages/opal-client/opal_client/policy/updater.py # packages/opal-common/opal_common/authentication/authenticator.py # packages/opal-common/opal_common/authentication/oauth2.py # packages/opal-common/opal_common/config.py # packages/opal-common/opal_common/fetcher/providers/http_fetch_provider.py # packages/opal-server/opal_server/authentication/authenticator.py # packages/opal-server/opal_server/server.py # packages/requires.txt
# Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-common/opal_common/authentication/authenticator.py # packages/opal-common/opal_common/authentication/jwk.py # packages/opal-common/opal_common/authentication/oauth2.py # packages/opal-common/opal_common/config.py # packages/opal-server/opal_server/authentication/authenticator.py # packages/opal-server/opal_server/data/api.py # packages/opal-server/opal_server/server.py # packages/requires.txt
# Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-client/opal_client/data/updater.py # packages/opal-client/opal_client/policy/fetcher.py # packages/opal-client/opal_client/policy/updater.py # packages/opal-common/opal_common/authentication/authenticator.py # packages/opal-common/opal_common/authentication/oauth2.py # packages/opal-common/opal_common/config.py # packages/opal-common/opal_common/fetcher/providers/http_fetch_provider.py # packages/opal-server/opal_server/authentication/authenticator.py # packages/opal-server/opal_server/server.py # packages/requires.txt
# Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-common/opal_common/authentication/authenticator.py # packages/opal-common/opal_common/authentication/jwk.py # packages/opal-common/opal_common/authentication/oauth2.py # packages/opal-common/opal_common/config.py # packages/opal-server/opal_server/authentication/authenticator.py # packages/opal-server/opal_server/data/api.py # packages/opal-server/opal_server/server.py # packages/requires.txt
# Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-client/opal_client/data/updater.py # packages/opal-client/opal_client/policy/fetcher.py # packages/opal-client/opal_client/policy/updater.py # packages/opal-common/opal_common/authentication/authenticator.py # packages/opal-common/opal_common/authentication/oauth2.py # packages/opal-common/opal_common/config.py # packages/opal-common/opal_common/fetcher/providers/http_fetch_provider.py # packages/opal-server/opal_server/authentication/authenticator.py # packages/opal-server/opal_server/server.py # packages/requires.txt
# Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-common/opal_common/authentication/authenticator.py # packages/opal-common/opal_common/authentication/jwk.py # packages/opal-common/opal_common/authentication/oauth2.py # packages/opal-common/opal_common/config.py # packages/opal-server/opal_server/authentication/authenticator.py # packages/opal-server/opal_server/data/api.py # packages/opal-server/opal_server/server.py # packages/requires.txt
# Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-client/opal_client/data/updater.py # packages/opal-client/opal_client/policy/fetcher.py # packages/opal-client/opal_client/policy/updater.py # packages/opal-common/opal_common/authentication/authenticator.py # packages/opal-common/opal_common/authentication/oauth2.py # packages/opal-common/opal_common/config.py # packages/opal-common/opal_common/fetcher/providers/http_fetch_provider.py # packages/opal-server/opal_server/authentication/authenticator.py # packages/opal-server/opal_server/server.py # packages/requires.txt
# Conflicts: # packages/opal-client/opal_client/client.py # packages/opal-client/opal_client/data/updater.py # packages/opal-client/opal_client/policy/updater.py
I've created the new branch to enable reviewing changes for #602.