Repository navigation
Allow google login - #1600
Open
rowleya wants to merge 21 commits into
Open
Allow google login#1600rowleya wants to merge 21 commits into
rowleya wants to merge 21 commits into
Conversation
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Critical identity-mapping flaws can cause distinct Google users to share jobs and quota, while configuration and dependency errors break bearer authentication and prevent unittest-profile startup.
5 open issues
Make OAuth2AuthorizedClientService optional · New Use stable provider-specific identities for both login paths · New Bind the introspection endpoint to the uri property · New Restore space-indented nesting in unittest profile · New Throw BadOpaqueTokenException when all providers reject a token · New
What changed in this PR
This PR generalizes spalloc’s EBRAINS-only authentication to support additional providers, including Google, aligning it with the Jupyter service and supporting a gradual move away from unauthenticated access.
Changes:
- Adds provider-specific login buttons, configuration, and token introspection.
- Updates authentication-session handling, exposes an access-token endpoint, and preserves authorization during background job creation.
- Broadens client CSRF-token matching and revises test configuration.
| File | Description |
|---|---|
| SpiNNaker-comms/src/main/java/uk/ac/manchester/spinnaker/alloc/client/ClientSession.java | Accepts additional characters in CSRF tokens. |
| SpiNNaker-allocserv/src/test/resources/application-unittest.yml | Revises test-profile authentication settings and indentation. |
| SpiNNaker-allocserv/src/main/webapp/WEB-INF/views/login.jsp | Renders a login button for each provider. |
| SpiNNaker-allocserv/src/main/resources/application.yml | Moves OAuth2 settings into provider registrations and adds introspection configuration. |
| SpiNNaker-allocserv/src/main/java/uk/ac/manchester/spinnaker/alloc/web/SystemControllerImpl.java | Supplies configured providers to the login page. |
| SpiNNaker-allocserv/src/main/java/uk/ac/manchester/spinnaker/alloc/web/SpallocServiceImpl.java | Exposes access tokens and passes authorization into background job creation. |
| SpiNNaker-allocserv/src/main/java/uk/ac/manchester/spinnaker/alloc/web/SpallocServiceAPI.java | Declares the token-retrieval endpoint. |
| SpiNNaker-allocserv/src/main/java/uk/ac/manchester/spinnaker/alloc/web/ControllerUtils.java | Generalizes login constants for multiple providers. |
| SpiNNaker-allocserv/src/main/java/uk/ac/manchester/spinnaker/alloc/SpallocProperties.java | Introduces per-provider introspection properties. |
| SpiNNaker-allocserv/src/main/java/uk/ac/manchester/spinnaker/alloc/ServiceConfig.java | Adds a base URL helper. |
| SpiNNaker-allocserv/src/main/java/uk/ac/manchester/spinnaker/alloc/security/SecurityConfig.java | Adds multi-provider introspection and revises session and access policies. |
| SpiNNaker-allocserv/src/main/java/uk/ac/manchester/spinnaker/alloc/security/LocalAuthProviderImpl.java | Retains OAuth2 access tokens and adjusts authentication logging. |
| SpiNNaker-allocserv/src/main/java/uk/ac/manchester/spinnaker/alloc/security/BasicAuthEntryPoint.java | Removes provider-specific scopes from bearer challenges. |
| SpiNNaker-allocserv/src/main/java/uk/ac/manchester/spinnaker/alloc/security/AppAuthTransformationFilter.java | Explicitly saves security contexts and creates sessions when needed. |
Review effort: Balanced
Christian-B
approved these changes
Nov 9, 2026
Christian-B
left a comment
Member
There was a problem hiding this comment.
No issues found at a quick glance.
github-merge-queue
Bot
removed this pull request from the merge queue due to invalid changes in the merge commit
Nov 9, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to invalid changes in the merge commit
Nov 9, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Allows Google sign in to spalloc to align better with authentication of jupyter service. This will allow us to slowly transition away from the unauthenticated system we currently have. Note that Google users will potentially have to have manual quota updates though as this isn't covered by EBRAINS.
Extends #1581
Fixes #1297