首页 > 解决方案 > 我的 ServerContext::auth_context 始终为 NULL

问题描述

我是 GRPC 的新手。我正在编写 C++ 代码来测试身份验证。我正在使用双向 TLS grpc 连接。我创建了所有必要的证书(根、服务器和客户端)并在服务器和客户端代码中使用了这些证书。

我也设置了这些变量

force_client_auth = true; client_certificate_request = grpc_ssl_client_certificate_request_type::GRPC_SSL_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY;

代码本身运行良好。我能够从客户端代码成功拨打电话(使用正确的证书)

当客户端进行服务器调用时,在服务器代码中,我试图获取客户端密钥中定义的公用名 (CN)。我在网上看到我可以使用 grpc::ServerContext::auth_context() 方法来获取客户端密钥的 CN 信息。

但是,在我的测试中, auth_context() 始终为空。

关于为什么我的 auth_context() 为空的任何想法?如果是这样,我该如何解决?

非常感谢您的帮助!

维杰

标签: c++grpc

解决方案


推荐阅读