Open
Conversation
feat(portal): gateway authentication fix(registry): remove JWT feat(gateway): HTTP & RPC auth layers refactor(portal): dedicated gateway client module
mempirate
reviewed
Dec 18, 2025
BrycePy
reviewed
Dec 23, 2025
| let valid_from = Duration::from_secs(valid_from); | ||
| let valid_from = SystemTime::UNIX_EPOCH + valid_from; | ||
|
|
||
| // TODO: add authorization logic, verifying challenger may authenticate with this gateway |
Contributor
There was a problem hiding this comment.
This can be a check against an address in the GatewayArgs for now. something like auth_allowed_challenger.
fix: remove gateway.address arg, use gossip key as "gateway address" refactor: cleanup scripts and compose files
deps: portal-auth based-op-node chore: fmt and unused imports
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.
This PR aims to add an authentication RPC endpoint to the gateway, allowing the Portal to communicate to it without sharing a JWT thru external services.
This is done using
based_authenticateProposer(name pending) which simply releases a JWT which can be used to access the rest of the endpoints of the gateway.The gateway supports multiple active JWTs, to allow multiple portals to talk to it, and the portal also supports a JWT per gateway, imposing no restrictions on the number of authenticated gateways to which the portal is connected.
TODO: