【发布时间】:2018-08-16 21:00:05
【问题描述】:
我正在尝试使用 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();
我做错了什么?
【问题讨论】:
标签: java firebase firebase-authentication firebase-admin