为了执行授权,将读取请求中的一些属性,以便可以进行授权服务器的输入
例如,这是拦截器。这里prepareAuthZInput是……
在做这样的事情时,通常会将auth数据添加到 元数据 而不是请求消息。这样,服务器不需要检查所有可能的请求有效负载类型。
如果必须使用请求有效负载,则使用类型开关代替更为惯用:
switch r := req.(type) { case CallRequest: // r is a CallRequest... case ReceiveRequest: // r is a ReceiveRequest... default: return status.Errorf(codes.Unimplemented, "unknown request type: %T", req) }