-
Notifications
You must be signed in to change notification settings - Fork 4
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
[GAP-8] HTTP auth runtime #44
base: stranger80/GAP/basic_auth_runtime
Are you sure you want to change the base?
[GAP-8] HTTP auth runtime #44
Conversation
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.
A couple of points:
A. The end-to-end scenario including basic-auth-runtime is to me unclear.
It would be useful to have a basic diagram showing example usage, explaining the sequence of activities by Requestor, Provider(s), Users.
So is the usage scenario one fo the following (diagrams under: https://app.diagrams.net/#G1dmtsgmfLsOBrnk4s14QyyEVyCWt-VO2H) oris it something totally different? :
Scenario A:
- Provider A offers some service X (published via basic-auth-runtime) on golem market
- Requestor provisions an instance of service X on Provider A
- Requestor calls Management API to create user credentials for service X
- Users of service X call the endpoint published by basic-auth-runtime (on Provider A) with user credentials,
the basic-auth-runtime authenticates and forwards the requests to service X instance (on the same Provider)
Scenario B:
- Provider A offers basic-auth-runtime on golem market
- Provider B offers some service X on golem market
- Requestor provisions an instance of basic-auth-runtime on Provider A
- Requestor provisions an instance of service X on Provider B
- Requestor wants to configure reverse proxy with user authentication for service X, so he calls Management API to:
- create service-forwarding configuration to route HTTP/S traffic to service X on Provider B
- create user credentials for service X
- Users of Service X call the endpoint published by basic-auth-runtime (on Provider A) with user credentials,
the basic-auth-runtime authenticates and forwards the requests to service X instance (on Provider B)
B. Which party uses the ManagementAPI?
a) Is it the Requestor, after obtaining an instance of basic-auth-runtime?
b) Is it the Provider, to dynamically configure services?
- How is the caller of Management API authenticated?
@stranger80 A quick reply before updating the doc and answering more thoroughly. We replace nginx (or another web server) with our custom HTTP proxy. Services were, so far, configured by a human (or local scripts) via nginx config and Management API is an interface between the Runtime and the Proxy. The API is exposed on a private address only and is hidden from both requestors and providers. Side notes:
I'll edit the document to address your remarks and hopefully make things (more) clear |
- extra emphasis on runtime and proxy communication
TC session 27/01/2022:
|
- complete rationale - mention plain HTTP mode - cosmetic changes
We could use https://streamr.network/ for the next steps of this GAP |
No description provided.