【问题标题】:cant verify id token gotten from android application无法验证从 android 应用程序获取的 id 令牌
【发布时间】:2020-06-29 22:22:04
【问题描述】:

我正在使用 google 登录来访问网络服务器中的一些客户资料 对于浏览器访问来说工作得很好 从 android 客户端应用程序获取 idtoken 并将其发送到服务器,但我可以让它工作,无论我做什么 控制台开发人员有 3 个 id https://pasteboard.co/IZHiS6h.png 和验证者

package com.mypackage.beans;

import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken;

import com.google.api.client.googleapis.auth.oauth2.GoogleIdTokenVerifier;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;

import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken;
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload;

import java.util.Collections;

public class IdTokenVerifierAndParserAndroid {
private static Payload payload =null;
    public static GoogleIdToken.Payload getPayload (String tokenString,String 
google_client_id) throws Exception {


    final NetHttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
    final JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
GoogleIdTokenVerifier verifier = new GoogleIdTokenVerifier.Builder(transport, jsonFactory)
// Specify the CLIENT_ID of the app that accesses the backend:
    .setAudience(Collections.singletonList(google_client_id))
    .build();

GoogleIdToken idToken = verifier.verify(tokenString);
...

【问题讨论】:

    标签: java android servlets google-oauth


    【解决方案1】:

    问题出在 API Key 的 SH1-A 中,IDE 中的那个与谷歌签名的应用程序不同,我们可以在应用程序仪表板中的应用程序签名中罚款

    【讨论】:

      猜你喜欢
      • 2011-12-29
      • 1970-01-01
      • 2021-04-21
      • 2019-02-24
      • 2012-03-29
      • 2015-06-21
      • 1970-01-01
      • 2023-01-12
      • 1970-01-01
      相关资源
      最近更新 更多