gpt4 book ai didi

java - 使用代理设置 Firebase admin sdk (Java)

转载 作者:行者123 更新时间:2023-11-29 04:21:02 31 4
gpt4 key购买 nike

我正在尝试使用 firebase 通过 Google 对我的用户进行身份验证。在我的 Java 服务器上,我正在验证 idToken 的有效性,每次出现此错误时:

com.google.firebase.auth.FirebaseAuthException: Error while verifying token signature.

我确定问题出在我的服务器代理上,它避免了 sdk 发出的 http 请求。我在我的计算机上测试了我的代码并且它有效,所以我很确定问题出在代理上。

这是我的代码:

InputStream serviceAccount = getClass().getClassLoader().getResourceAsStream(<fileName>);

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(<address>, <port>));
HttpTransport httpTransport = new NetHttpTransport.Builder().setProxy(proxy).build();

HttpTransportFactory httpTransportFactory = () -> httpTransport;

FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount, httpTransportFactory))
.setDatabaseUrl(<adress>)
.setHttpTransport(httpTransport)
.build();
FirebaseApp.initializeApp(options);
FirebaseToken decodedToken = FirebaseAuth.getInstance().verifyIdTokenAsync(<token>).get();

我做错了什么?

最佳答案

我认为这是一个错误。如你所见here , token validator 不使用通过选项注入(inject)的 HTTP 传输。如果您能在 GitHub 上为此创建一个问题,我将不胜感激。

与此同时,您可以通过为 JVM 配置 HTTP/S 代理来绕过此限制。尝试在启动 JVM 时设置 https.proxyHosthttps.proxyPort 系统属性(更多详细信息 here)。

关于java - 使用代理设置 Firebase admin sdk (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49174274/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com