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

Inject external Identity Provider into Gatekeeper? #349

Open
brylie opened this issue Apr 6, 2017 · 3 comments
Open

Inject external Identity Provider into Gatekeeper? #349

brylie opened this issue Apr 6, 2017 · 3 comments

Comments

@brylie
Copy link
Contributor

brylie commented Apr 6, 2017

At a meeting with the FIWARE Foundation developers in Berlin, we discussed integrating the FIWARE Identity Management provider within the API Umbrella Gatekeeper.

screenshot_20170406_115634

The Idea would be to use the FIWARE Identity Management component as a store for user data:

screenshot_20170406_115543

@GUI, what are some considerations related to this idea?

cc: @aalonsog @jsalvachua and @fdelavega: what are some clarifications regarding this issue/idea/diagram?

Related to issue/discussion #38

@aalonsog
Copy link

aalonsog commented Apr 26, 2017

The idea is to include the possibility of configuring API Umbrella to check the validity of API Keys in a remote server. Thus, requests sent to the proxy could include an OAuth2 token instead of the API Key and when reaching the validation step in the gatekeeper it sends a validation request to the external IdP.

This OAuth2 token has to be created by the client using any of the OAuth2 grant types defined in the protocol.

Here the diagram:

diagram

Note: diagram to be modified in https://bramp.github.io/js-sequence-diagrams/

Title: OAuth2 token validation in API Umbrella
Client -> Proxy: (1) API request
Proxy -> Client: (2) 404 needs authorization
Client->OAuth2 IdP: (3) OAuth2 authentication
OAuth2 IdP->Client: (4) access_token
Client->Proxy: (5) Backend request (X-Auth-Header: access-token)
Note right of Proxy: Starts gatekeeper checks
Proxy -> OAuth2 IdP: (6) Validate access_token
OAuth2 IdP->Proxy: (7) Ok + user info (including roles)
Note right of Proxy: Continues gatekeeper checks
Proxy-->Backend: (8) Send request
Backend-->Proxy: (9) Send response
Note right of Proxy: Process response
Proxy->Client: (10) Send processed response

@GUI
Copy link
Member

GUI commented May 11, 2017

@aalonsog: Sorry for the delay. I responded over in #38, but we can shift the conversation over here if that would be better.

@aalonsog
Copy link

aalonsog commented Jun 6, 2017

It's ok, let's discuss this there :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants