Я создал проект с использованием python в Google App Engine. Я хочу использовать google вход на моем сайте.Google Войти для python Google App Engine
Я пытался использовать Google знак для веб, и она работает хорошо, но я не знаю, как делать вызовы API от сервера, чтобы гарантировать, что пользователь подписан в.
Я пытался использовать пользователь == > пользователь = users.get_current_user() Затем используйте идентификатор пользователя, чтобы сделать API вызовы ==> "https://www.googleapis.com/plus/v1/people/ "+ self.request.get ('ID') +"? = поля изображения & ключ = SOME_KEY"
Проблема в том, что идентификатор не тот, который я должен использовать. когда я сравниваю этот id и тот, который я получаю в javascrip, они не одинаковы. Кроме того, в веб-API они упомянули, что я должен отправить этот идентификатор на сервер напрямую (я не знаю причины). Поэтому я хочу знать, как получить правильный идентификатор в моем приложении python.
// Не отправляйте это прямо на свой сервер!
<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>
Удостоверяются ли документы на бэкэнд? https://developers.google.com/identity/sign-in/web/backend-auth ... есть пример для декодирования маркера ID с библиотекой Python. Идентификатор Plaintext небезопасен и может быть подделан, поэтому вы не можете использовать его для backend auth, вам нужно отправить и проверить токен ID и извлечь из него значения. –