現在GoogleのゲームAPIを使用しています。クライアントは、ユーザーの認証コードとGPlay IDを送信します。Google Playゲーム:tokenResponseにはアクセストークンが含まれていますが、idTokenはありません
私はこれをGoogleに検証するために送信します。
のclient_idとclient_secretは、Googleから取得したとして、私たちのclient_secretから取り出され、そしてidTokenStringがクライアントにログインしているユーザによって提供される認証コードでいるvar tokenResponse =
new GoogleAuthorizationCodeTokenRequest(
new NetHttpTransport(),
JacksonFactory.getDefaultInstance(),
"https://www.googleapis.com/oauth2/v4/token",
client_id,
client_secret,
idTokenString,
"")
.execute()
(形式:4/XXXXX ...)。
tokenResponseを取得した後、次のコードは問題のないアクセストークンを返します。
しかしながらvar accessToken = tokenResponse.getAccessToken()
、から取り出されidToken:ヌルと
var idToken = tokenResponse.getIdToken()
戻ります。そのため、ユーザーのデータを取得しようとすると、アカウントの正当な所有者となります。
var idToken = tokenResponse.parseIdToken()
はnullpointer例外を返します。
トピックを検索すると、parseIdTokenメソッドが使用されていないと考えられ、その情報を取得するためにaccessTokenだけを使用できると思われるユーザーがいるようです。
しかし、私が見つけたソリューションでは、getIdTokenをすべて使用する必要があります。getIdTokenは、nullで返されます。
私はここで間違っている可能性のあることについて誰かが考えているのですか、ログイン後にユーザーの詳細を取得するための別の方法がありますか?