не могу проверить токен, полученный из приложения android - PullRequest
0 голосов
/ 18 марта 2020

я использую вход в Google для доступа к некоторым профилям клиентов на веб-сервере, поэтому доступ к браузеру работает нормально из android клиентского приложения, которое получает idtoken и отправляет его на сервер, но я могу получить это работает, что бы я ни делал, есть 3 идентификатора на консоли разработчика 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);
...

1 Ответ

0 голосов
/ 31 марта 2020

Ну, проблема была в SH1-A API Key, тот, что в IDE, отличается от приложения, подписанного Google, который мы можем оштрафовать за подпись приложения на панели приложения

...