mirror of
https://github.com/linka-cloud/grpc.git
synced 2025-01-11 02:27:20 +00:00
20 lines
423 B
Go
20 lines
423 B
Go
|
package auth
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
|
||
|
grpc_auth "github.com/grpc-ecosystem/go-grpc-middleware/auth"
|
||
|
)
|
||
|
|
||
|
type TokenValidator func(ctx context.Context, token string) (context.Context, error)
|
||
|
|
||
|
func makeTokenAuthFunc(v TokenValidator) grpc_auth.AuthFunc {
|
||
|
return func(ctx context.Context) (context.Context, error) {
|
||
|
a, err := grpc_auth.AuthFromMD(ctx, "bearer")
|
||
|
if err != nil {
|
||
|
return ctx, err
|
||
|
}
|
||
|
return v(ctx, a)
|
||
|
}
|
||
|
}
|