2017-05-27 17 views
0

私はgrpcでカスタムトークンベースの認証スキームを実装しようとしていると私は、クライアント側で、次のコードを持っている:サーバー側で認証トークンを取得するにはどうすればよいですか?

with open('server.crt', 'rb') as f: 
    trusted_certs = f.read() 

credentials = grpc.ssl_channel_credentials(root_certificates=trusted_certs) 
composite_credentials = grpc.composite_channel_credentials(credentials, grpc.access_token_call_credentials("test_token")) 
channel = grpc.secure_channel('{}:{}'.format('localhost', 50051), composite_credentials) 
stub = helloworld_pb2_grpc.GreeterStub(channel) 
response = stub.SayHello(helloworld_pb2.HelloRequest(name='test')) 

このコードは正常に動作し、サーバにテスト・トークンを送信するように思われます。しかし、私は、サーバー側でトークンを取得してチェックする方法の解決策を考え出すことはできません。

context.invocation_metadata() 

サーバ側で:誰もが同じ問題に直面して実行する場合

答えて

2

は、念のために、適切なソリューションを使用することです。これは、クライアント側で渡されたメタデータを表すタプルのコレクションを返します(たとえば、 "authorization"ヘッダーとその値)。

関連する問題