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

feat(core-api): pluggable authentication - Open ID Connect #144

Open
petermetz opened this issue May 20, 2020 · 2 comments
Open

feat(core-api): pluggable authentication - Open ID Connect #144

petermetz opened this issue May 20, 2020 · 2 comments
Assignees
Labels
API_Server enhancement New feature or request P4 Priority 4: Low Security Related to existing or potential security vulnerabilities
Milestone

Comments

@petermetz
Copy link
Member

Is your feature request related to a problem? Please describe.
Yes, we don't have authentication between clients and the Cactus API at the moment.

Describe the solution you'd like
We need a pluggable authentication layer that's flexible enough to handle federation among a set of identity providers (consortium members who run their own Cactus nodes joined together into a consortium).
Resource providers would be the Cactus API and the ledgers they connect (open to rephrasing this if someone have different ideas on terminology/concepts).

It's important that through the existing web service plugin mechanism people can write their own authentication plugins as well.

As usual, all of this must be configurable dynamically so that its testing can be fully automated as well which implicitly enables the creation of much simpler examples as well when there are no or very few manual steps involved.

Describe alternatives you've considered
Also looked into SAML, but ideally we'd want something that's designed from the ground up to work with authentication clients from browser and also mobile environments. SAML is good but it's a little rusty when it comes to native/mobile web authentication flows.

Additional context

I already started working on this in my fork in the form of a web service plugin that can be enabled on the API server through configuration.
Finer details are not fully clear yet but will be easier to iterate once we have a baseline established. Expect PR to drop soon.

cc: @jonathan-m-hamilton @sfuji822 @takeutak

@petermetz petermetz added the enhancement New feature or request label May 20, 2020
@petermetz petermetz self-assigned this May 20, 2020
@petermetz
Copy link
Member Author

petermetz commented Aug 30, 2020

Note to self: Extending the scope of this: Instead of having the authentication just for end user's we will also need it for administrative purposes. As an example a specific OAuth2 scope should be successfully claimed in a JWT before before a request to deploy a contract to a ledger through a connector can be executed.
For an enterprise deployment scenario I would imagine the most common would be some federated scenario where the identity provider is an external system to Cactus the the enterprise has been maintaining prior to the deployment of Cactus itself.

@petermetz petermetz added this to the v0.10.0 milestone Sep 25, 2020
@petermetz petermetz added API_Server Security Related to existing or potential security vulnerabilities labels Sep 25, 2020
@petermetz petermetz modified the milestones: v0.10.0, v0.6.0 Sep 25, 2020
@petermetz petermetz changed the title Pluggable Authentication - Initially with Open ID Connect feat(core-api): pluggable authentication - Open ID Connect Feb 5, 2021
@petermetz petermetz modified the milestones: v0.6.0, v0.8.0 May 19, 2021
@petermetz petermetz modified the milestones: v0.8.0, v0.9.0 Aug 17, 2021
@petermetz petermetz modified the milestones: v0.9.0, v0.10.0 Sep 2, 2021
ryjones pushed a commit that referenced this issue Feb 1, 2023
added fabric-cli with commands to exercise asset-exchange in Go
@petermetz petermetz added the P4 Priority 4: Low label Aug 20, 2023
@petermetz petermetz modified the milestones: v0.10.0, vT.B.D Aug 20, 2023
@petermetz
Copy link
Member Author

We have JWT support now so full OIDC support is a little lower on the priority list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API_Server enhancement New feature or request P4 Priority 4: Low Security Related to existing or potential security vulnerabilities
Projects
None yet
Development

No branches or pull requests

1 participant