Я разрабатываю приложение с помощью фляги, и мне нужно войти в систему через Google.
Я следовал указаниям на https://developers.google.com/identity/sign-in/web/sign-in, и они прекрасно работают на моем рабочем столе.
Но, пробуя его на своем ноутбуке, я получаю следующее исключение: необработанное исключение [объект Объект]
Скриншот
Это код, который я выполняю:
main.py:
"""
Flask test
"""
from flask import Flask, url_for, request, render_template, redirect
app = Flask(__name__)
@app.route("/")
def test():
return render_template("ejemplo.html")
#LAUNCH APP
if __name__ == "__main__":
app.run(host='0.0.0.0',port=5000)
ejemplo.html:
<script src="https://apis.google.com/js/platform.js" async defer></script>
<meta name="google-signin-client_id"
content="MYGOOGLEUSERSTRINGID.apps.googleusercontent.com">
<div class="g-signin2" data-onsuccess="onSignIn"></div>
<a href="#" onclick="signOut();">Sign out</a>
<script>
function onSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
console.log('Name: ' + profile.getName());
console.log('Image URL: ' + profile.getImageUrl());
console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
}
function signOut() {
var auth2 = gapi.auth2.getAuthInstance();
auth2.signOut().then(function () {
console.log('User signed out.');
});
}
</script>
На моем ноутбуке, когда я нажимаю кнопку входа в Google, появляется окно с запросом учетных данных. Но после предоставления учетных данных ничего не происходит, функция onSignIn не выполняется.
Если я сотру
<div class="g-signin2" ...</div>
строка, это исключение не запускается.
Я также пробовал это на другом рабочем столе с новой установкой фляги и ее требований, но она работает должным образом, и я не получаю это исключение. Я использовал одинаковые методы установки на трех компьютерах:
Использование сценария instalar_flask.txt в https://github.com/pablopenna/flask_app
РЕДАКТИРОВАТЬ: я забыл сказать, что я отредактировал файл / etc / hosts, чтобы добавить строку
127.0.0.1 dominioppr.com
, поскольку это URI, который я разрешил в консоли API Google.
EDIT2:
Я только что создал другого пользователя на своем ноутбуке, установил флягу и выполнил точно такой же код. На этот раз это сработало.
Полагаю, эта проблема связана с некоторой локальной неправильной конфигурацией. У меня испортилась среда рабочего стола unity / compiz, и мне пришлось установить облегченную версию gnome с metacity, чтобы вернуть мой графический интерфейс к работе, но некоторые вещи не работали должным образом.