- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 go 语言编写 gRPC 客户端应用程序。
每个 ClientConn 都有 JWT token ,现在我在使用各种 JWT token 应用缓存/重用 ClientConn 时遇到了一些问题。
以前我每次都使用新的 JWT token 创建 ClientConn,如下所示:
conn, err := grpc.Dial(endpoint, WithPerRPCCredentials(oauth.NewOauthAccess(token))
Authorization
的最佳方式吗?元数据到每个 gRPC 调用的上下文中?
最佳答案
正如@apolcyn 提到的,PerRpcCredentials 实现通常负责刷新访问 token 。
如果您有 JWT token ,您还可以考虑使用 NewJWTAccessFromFile或 NewJWTAccessFromKey .
在任何情况下,如果您的 token 来源可以更改并且您仍然希望能够使用相同的 ClientConn
,您可以使用 CallOption
在您进行的每个 RPC 期间指定您的凭据,而不是将其指定为 DialOption
在创建您的 ClientConn
期间.这是您感兴趣的 callOption:https://godoc.org/google.golang.org/grpc#PerRPCCredentials
将任意元数据注入(inject)每个 gRPC 调用的另一种选择是使用客户端拦截器。见 WithUnaryInterceptor
或 WithStreamInterceptor
拨号选项。
希望这可以帮助。
关于go - 如何在现有的 ClientConn 上添加 clientOption?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61298896/
我正在用 go 语言编写 gRPC 客户端应用程序。 每个 ClientConn 都有 JWT token ,现在我在使用各种 JWT token 应用缓存/重用 ClientConn 时遇到了一些问
我是新java。我创建了一个 java 项目来调用我的 web 服务(Servlet,Tomcat6.0)。 为了使用 http,我添加了以下 jar 文件 1. httpclient-4.2.1 2
我有一个程序,它与 IBM MQ 连接和断开连接,它给我编译时错误: dte_dbus_mq.c #include #include #include "dte_mq.h" #i
我是一名优秀的程序员,十分优秀!