-
Notifications
You must be signed in to change notification settings - Fork 27
feat(gateway): Authentication RPC #267
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
base: refactor/devex
Are you sure you want to change the base?
Conversation
feat(portal): gateway authentication fix(registry): remove JWT feat(gateway): HTTP & RPC auth layers refactor(portal): dedicated gateway client module
mempirate
left a comment
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, first pass
mempirate
left a comment
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.
LGTM
| 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 |
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.
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 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: