-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
HTTP-level server-side authentication #495
Comments
It has been supported (https://github.com/grpc/grpc-go/blob/master/credentials/oauth/oauth.go). |
oauth.go implements client-side oauth, while this bug is about server-side oauth. In other words, the code that reads "Authorization" HTTP header, communicates to an authority to verify the access token and puts a |
yup, some hook need to be added so that the token can be verified. We have not fleshed out the design. Do you have proposal here? :) |
Basically we need to be able to inject something like type MetadataAuthenticator interface {
// AuthFromMetadata validates metadata and returns AuthInfo.
// May block.
AuthFromMetadata(md metadata.MD) (AuthInfo, error)
} to However, I am not sure
|
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
Merging this to #240 which I am actively working on. |
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
This adds new http.Handler-based ServerTransport in the process, reusing the HTTP/2 server code in x/net/http2 or Go 1.6+. All end2end tests pass with this new ServerTransport. Fixes grpc#75 Also: Updates grpc#495 (lets user fix it with middleware in front) Updates grpc#468 (x/net/http2 validates) Updates grpc#147 (possible with x/net/http2) Updates grpc#104 (x/net/http2 does this)
Is there a plan to support HTTP-level authentication, such as OAuth? The currently existing
credentials.TransportAuthenticator
supports transport-level authentication (works atnet.Conn
level). However in order to perform OAuth authentication, one needs access to HTTP headers ("Authorization" header).The text was updated successfully, but these errors were encountered: