16 | 16 |
bearerFormat string = "Bearer %s"
|
17 | 17 |
)
|
18 | 18 |
|
19 | |
// ToHTTPContext moves JWT token from request header to context. Particularly
|
|
19 |
// HTTPToContext moves JWT token from request header to context. Particularly
|
20 | 20 |
// useful for servers.
|
21 | |
func ToHTTPContext() http.RequestFunc {
|
|
21 |
func HTTPToContext() http.RequestFunc {
|
22 | 22 |
return func(ctx context.Context, r *stdhttp.Request) context.Context {
|
23 | 23 |
token, ok := extractTokenFromAuthHeader(r.Header.Get("Authorization"))
|
24 | 24 |
if !ok {
|
|
29 | 29 |
}
|
30 | 30 |
}
|
31 | 31 |
|
32 | |
// FromHTTPContext moves JWT token from context to request header. Particularly
|
|
32 |
// ContextToHTTP moves JWT token from context to request header. Particularly
|
33 | 33 |
// useful for clients.
|
34 | |
func FromHTTPContext() http.RequestFunc {
|
|
34 |
func ContextToHTTP() http.RequestFunc {
|
35 | 35 |
return func(ctx context.Context, r *stdhttp.Request) context.Context {
|
36 | 36 |
token, ok := ctx.Value(JWTTokenContextKey).(string)
|
37 | 37 |
if ok {
|
|
41 | 41 |
}
|
42 | 42 |
}
|
43 | 43 |
|
44 | |
// ToGRPCContext moves JWT token from grpc metadata to context. Particularly
|
|
44 |
// GRPCToContext moves JWT token from grpc metadata to context. Particularly
|
45 | 45 |
// userful for servers.
|
46 | |
func ToGRPCContext() grpc.ServerRequestFunc {
|
|
46 |
func GRPCToContext() grpc.ServerRequestFunc {
|
47 | 47 |
return func(ctx context.Context, md metadata.MD) context.Context {
|
48 | 48 |
// capital "Key" is illegal in HTTP/2.
|
49 | 49 |
authHeader, ok := md["authorization"]
|
|
60 | 60 |
}
|
61 | 61 |
}
|
62 | 62 |
|
63 | |
// FromGRPCContext moves JWT token from context to grpc metadata. Particularly
|
|
63 |
// ContextToGRPC moves JWT token from context to grpc metadata. Particularly
|
64 | 64 |
// useful for clients.
|
65 | |
func FromGRPCContext() grpc.ClientRequestFunc {
|
|
65 |
func ContextToGRPC() grpc.ClientRequestFunc {
|
66 | 66 |
return func(ctx context.Context, md *metadata.MD) context.Context {
|
67 | 67 |
token, ok := ctx.Value(JWTTokenContextKey).(string)
|
68 | 68 |
if ok {
|