Ich habe eine Android-App mit Google-Anmeldung. Gemäß den documentation erzielen ich ein Token-ID:Wie validiere ich die Google Token ID, die von Android auf Ruby on Rails Server gesendet wurde?
// Configure Google Sign-In with the requestIdToken
GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.server_client_id))
.requestEmail()
.build();
// Handle result
private void handleSignInResult(GoogleSignInResult result) {
if (result.isSuccess()) {
GoogleSignInAccount account = result.getSignInAccount();
String tokenId = account.getIdToken();
}
}
ich das Problem auf der Serverseite zugewandt ist, mit Ruby on Rails. Ich versuche zu verwenden google-id-token gem. Die Readme gibt folgendes Beispiel:
validator = GoogleIDToken::Validator.new(expiry: 1800)
begin
payload = validator.check(token, required_audience, required_client_id)
email = payload['email']
rescue GoogleIDToken::ValidationError => e
report "Cannot validate: #{e}"
end
Ich habe die token
(aus dem Android Java-Code). Was ist required_audience
? Sollte ich die gleiche client_id
meiner Client-App verwenden? Wenn ich versuche, den Code auf dem Server auszuführen, erhalte ich Payload als nil
.
Auch würde ich gerne wissen, ob dies der richtige Weg ist, um die Token-ID zu überprüfen.