У меня есть веб-приложение Flask, размещенное в Google Cloud Run, которое размещено с https://mydomain.run.app.
Теперь я пытаюсь добавить к нему аутентификацию Google. Я создал API под реквизиты для входа в ГКП. я отдал https://mydomain.run.app/авторизовать в URI перенаправления, но когда я попытался войти в систему из своего приложения, оно выдает ошибку несоответствия перенаправления.
И ошибка показывает мне http://mydomain.run.app/авторизовать.
Несоответствие – это https и http
Когда я попытался указать http в учетных данных uri, меня выдает
Недопустимое перенаправление: это приложение имеет статус публикации «В разработке». URI должен использовать https:// в качестве схемы.
@app.route('/логин/гугл')
защита google_login():
google = oauth.create_client('google')
redirect_uri = url_for('авторизовать', _external=True,_scheme='https')
вернуть google.authorize_redirect(redirect_uri)
@app.route('/авторизовать')
деф авторизовать():
google = oauth.create_client('google')
токен = google.authorize_access_token()
resp = google.get('информация о пользователе')
user_info = соотв.json()
пользователь = oauth.google.userinfo()
сеанс['профиль'] = user_info
сеанс.постоянный = Истина
вернуть перенаправление ('/ select')
Затем я узнал, что само мое приложение отправляет только HTTP-запрос, поэтому я попытался добавить _scheme='https' в url_for при перенаправлении, но теперь я получаю authlib.integrations.base_client.errors.MismatchingStateError: mismatching_state: CSRF Внимание! Состояние не равно запросу и ответу. ошибка. Я изменил свой секретный ключ на статическую строку вместо случайных чисел, которые я получил из других ответов. Но решить эту проблему пока не получается.