Ich habe ein Projekt mit Python in Google App Engine erstellt. Ich möchte Google auf meiner Website anmelden.Google Anmelden für Python Google App Engine
Ich habe versucht, Google für Web melden Sie sich an verwenden und es funktioniert gut, aber ich weiß nicht, wie API-Aufrufe von Server zu machen, dass Benutzer, um sicherzustellen, angemeldet.
Ich habe versucht, Benutzer verwenden == > user = users.get_current_user() dann den Benutzer-ID verwenden, API-Aufrufe ==> "https://www.googleapis.com/plus/v1/people/ "+ self.request.get ('id') +"? Felder = Bild & key = SOME_KEY"
zu machenDas Problem ist, dass die ID nicht die ist, die ich verwenden sollte. Wenn ich diese ID und die, die ich in der Javascripte bekomme, vergleichen, sind sie nicht gleich. Auch in der Web-API erwähnten sie, dass ich diese ID direkt an den Server senden sollte (ich weiß nicht, warum). Ich möchte wissen, wie ich die richtige ID in meiner Python-Anwendung bekommen kann.
// Senden Sie das nicht direkt an Ihren Server!
<html lang="en">
<head>
<meta name="google-signin-scope" content="profile email">
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">
<script src="https://apis.google.com/js/platform.js" async defer></script>
</head>
<body>
<div class="g-signin2" data-onsuccess="onSignIn" data-theme="dark"></div>
<script>
function onSignIn(googleUser) {
// Useful data for your client-side scripts:
var profile = googleUser.getBasicProfile();
console.log("ID: " + profile.getId()); // Don't send this directly to your server!
console.log('Full Name: ' + profile.getName());
console.log('Given Name: ' + profile.getGivenName());
console.log('Family Name: ' + profile.getFamilyName());
console.log("Image URL: " + profile.getImageUrl());
console.log("Email: " + profile.getEmail());
// The ID token you need to pass to your backend:
var id_token = googleUser.getAuthResponse().id_token;
console.log("ID Token: " + id_token);
};
</script>
</body>
</html>
Können die Dokumente in Backend-Auth helfen? https://developers.google.com/identity/sign-in/web/backend-auth ... Es gibt ein Beispiel für die Decodierung eines ID-Tokens mit Python-Bibliothek. Die Klartext-ID ist unsicher und könnte gefälscht werden, sodass Sie diese nicht für die Backend-Authentifizierung verwenden können. Sie müssen ein ID-Token senden und validieren und die Werte daraus extrahieren. –