Ich schreibe eine Android-Anwendung, die AccountManager verwendet, um das Token zu erhalten. Von einer Android-App aus kann ich mit Google Picasa interagieren - es funktioniert einwandfrei.
Was ich gerne erreichen möchte, ist folgendes: sende etwas text + authToken an meinen Drittanbieter-Server, dann überprüfe, ob das Token korrekt ist, bevor du den Text speicherst. Nun stellt sich die Frage: Ist es möglich, festzustellen, ob das authToken eines bestimmten Token nur auf dem Token selbst (und vielleicht der E-Mail-Adresse) korrekt ist?
Ich habe bereits den Server-Teil programmiert, der das Token akzeptiert (send von Android-Anwendung) und dann eine Anfrage an eine URL-Adresse absetzt:
%Vor%Was ich zurückbekomme, ist folgender JSON:
%Vor%Aber der Link hier Ссылка besagt, dass wenn ein Token korrekt ist, ich eine andere JSON-Antwort erhalten sollte. Kannst du mir sagen, was ich falsch mache? Ich glaube, dass der Weg, Tokens Gültigkeit zu überprüfen, wirklich nicht so einfach ist, aber ich sollte lieber das ganze Openid oder so implementieren. Auch wenn das der Fall ist, wie kann ich überprüfen, ob das Token per Android App korrekt ist, so kann ich den 'Text' Teil der Nachricht speichern.
Danke.
Die Lösung ist wie folgt. Sie können das Token über diese URL überprüfen:
%Vor%Aber in meinem Fall habe ich versucht, "Authorization Code" und nicht "Access Token" zu validieren, wie Sie hier sehen können: Ссылка
Wenn Sie Android und OAuth verwenden, verwenden Sie nicht
%Vor%Verwenden Sie stattdessen Folgendes als Servicename:
%Vor%Also sollten Sie getAuthToken wie folgt aufrufen
%Vor%Dann können Sie das Token, das von diesem Aufruf empfangen wird, auf dem oben angegebenen URI validieren.
lies das Ссылка
Nachdem der Webserver den Autorisierungscode erhalten hat, kann er sich austauschen der Autorisierungscode für ein Zugriffstoken und ein Aktualisierungstoken. Dies Anforderung ist ein HTTPs-Post und enthält die folgenden Parameter:
Ich bin auf die Passport-Google-Token Passport-Strategie gestoßen, die die Aufgabe perfekt erfüllt.
Weitere Details finden Sie im obigen Link.
Basierend auf Informationen in dieser Antwort: Wie können Google-OAuth-Tokens auf einem node.js-Server ordnungsgemäß validiert werden? >,
Sie könnten versuchen, id_token
anstelle von access_token
in der URL zu verwenden, um den Tokeninfo-Endpunkt von Google aufzurufen.
Tags und Links android google-api accountmanager picasa