当前位置: 首页 > 知识库问答 >
问题:

Android向grpc存根添加授权标头,错误:"onError:io.grpc.StatusRuntimeException: UNAVAILABLE"

麹权
2023-03-14

我无法添加标题成功使用

  // create a custom header
  val header: io.grpc.Metadata = io.grpc.Metadata()
  val auth: io.grpc.Metadata.Key<String> = io.grpc.Metadata.Key.of("authorization", io.grpc.Metadata.ASCII_STRING_MARSHALLER)header.put(auth, "barer "+ AWSMobileClient.getInstance().tokens.idToken.tokenString);
        
     Stub = io.grpc.stub.MetadataUtils.attachHeaders(Stub, header) 

根据Android的建议,如何在grpc客户端中添加自定义头?。

我得到:onError:io。grpc。StatusRuntimeException:不可用

在IOS中,我能够使用以下方式使其工作:

let authToken = "\(AWSCognitoUserPoolsSignInProvider.sharedInstance().getUserPool().token().result ?? "")"
    let httpHeader: [(String, String)] = [("Authorization", authToken)]
    let header = HPACKHeaders(httpHeader)
    callOptions = CallOptions(customMetadata: header, timeLimit: .none, messageEncoding: .disabled , requestIDProvider: .none, requestIDHeader: nil, cacheable: false)
    let req = Cilix_Api_GetVersionRequest()
    let request = self.client?.getVersion(req, callOptions: callOptions)

如有任何建议,将不胜感激

共有1个答案

丁安宜
2023-03-14

问题不在于android客户端或标头的附加。

ALPN在后端被禁用,需要强制执行才能让android客户端工作。

我将编辑问题的标题以包含错误消息:onError:io。grpc。StatusRuntimeException:不可用,以防有人遇到错误,但没有尝试添加标题。

 类似资料:
  • 问题内容: 这是我的第一篇文章。 我刚刚开始学习Go和Angular,并且尝试将angular应用程序连接到go api。我已经写了这两本书,并且一直坚持找出问题的根源。我以为这是一个CORS问题,但是如果我在Angular http请求中不包含代码的标题行,它就可以正常工作。在这一点上,我只是想添加标题。授权代码尚未实现。 这两个应用程序都在本地运行,端口5000上的Go应用程序和4200端口上

  • 我使用Spring Security with OAuth2进行身份验证/授权,使用以下项目。http://projects.spring.io/spring-security-oauth/ 我需要向OAuth2授权URL添加参数。我不确定应该如何将它添加到AuthorizationCodeResourceDetails bean中? 默认流只有以下参数/OAUTH/Authorize?Clien

  • 我正在尝试从这个 API 调用中创建“UUID”,我正在使用 axios 和 vue.js。这是我的源代码。 但不幸的是,我得到了 在'访问XMLHttpRequesthttps://www.uuidtools.com/api/generate/v1'从原点'http://localhost:8080'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“access c

  • 问题内容: 我有一个react / redux应用程序,可从api服务器获取令牌。用户验证后,我想使所有axios请求都将该令牌作为Authorization标头,而不必手动将其附加到操作中的每个请求。我对React / Redux相当陌生,并且不确定采用最佳方法,也没有在Google上找到任何高质量的点击。 这是我的redux设置: 我的令牌存储在的redux存储中。 我对如何进行有点迷茫。我试

  • 问题内容: 我试图在我的Word docx文档的标题中添加一些形状和徽标文件。添加图片对我有用,但是我找不到如何添加形状的任何解决方案。谁能帮我? 最后,标题应如下所示 谢谢 问题答案: 由于 到目前为止,确实处于beta状态,因此只有在确切知道将其内容存储到中的情况下,此类事情才有可能。这样就可以解决的不足 。您已经使用了一种变通方法,当将图片添加到页眉或页脚中运行时,它可以纠正错过的情况。 发

  • 我使用的是Swagger 2.0和Swagger UI 3.0.3。 在我的api_定义中。yaml在我的路径之前有以下内容: 这将在Swagger UI中添加一个授权按钮,用户可以在其中粘贴他们的API密钥。我希望此API密钥在每个请求的请求标头中发送。但这不会发生,我不确定为什么。我错过了什么吗? 编辑: 请求似乎发出了,我回来了。 Chrome开发工具显示以下请求头: 我有路径设置为: 定义