Skip to content
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

proposal: genepool authentication #155

Open
fw2568 opened this issue Feb 20, 2024 · 0 comments
Open

proposal: genepool authentication #155

fw2568 opened this issue Feb 20, 2024 · 0 comments

Comments

@fw2568
Copy link
Member

fw2568 commented Feb 20, 2024

Eryph clients issue commands that run on backend components. Therefore, if the command needs to access a resource on the genepool, the authentication to the genepool must be done on the backend and not by the client.

This proposal describes a concept for providing these credentials for eryph-zero, server and in multi-tenant scenarios:

Identity Module API Key Management

The API module should be extended to allow API keys for genepools to be associated with clients and, if added later, user identities.
A client could be associated with an API key on the genepool (cross-organization auth would be implemented by associating orgs on the genepool). Multiple identities may share the same API key.

The identity module will issue a claim containing the API key's id.

Controller API Key Lookup

The controller sagas that prepare access to the genepools must be extended to add a step that requests the API key by id from the identity module. If available, the API key is appended to the genepool access commands.

Identity Module API Key Command Handler

The identity module must be added to the message bus and implements a command handler that looks up the credentials of the genepool api key to provide them to the controller module.

Further considerations

Local Genepool

The local genepool currently assumes that all users have access to the cached genesets. With this change, this will no longer be the case. The local genepool needs to verify access to the geneset even if the geneset is available locally. However, this must also work in offline scenarios. Therefore, genepool orgs to which an API key allows access should also be cached.

AB#593

@fw2568 fw2568 added this to the zero Beta milestone Apr 23, 2024
@fw2568 fw2568 modified the milestones: zero Beta, zero beta 2 Sep 10, 2024
@fw2568 fw2568 modified the milestones: zero beta 2, zero Beta next Oct 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant