API входа в Google, использующий oauth Post Method на сервере фляг Python - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть вопрос о реализации входа в Google.Мне удалось внедрить кнопку Google Login в моем приложении реакции с помощью библиотеки с открытым исходным кодом под названием реагировать-google-login .Я был в состоянии настроить внутренний сервер, используя колбу Python.Я размещаю свой метод API на API на Heroku: http://arrangement -server.herokuapp.com / login .И мое приложение реакции успешно работает локально, и я могу использовать кнопку входа в систему.Но моя проблема в том, что мой сервер отображает следующую ошибку:

Method not Allowed.

Это потому, что это метод post?

Почему мой сервер показывает мне, что этот метод недопустим?

enter image description here

Хотя на стороне клиента он работает нормальнои я могу видеть профиль пользователя и информацию о нем.

Вот код моего внутреннего сервера, его можно найти по адресу Github :

@app.route("/login", methods=['POST'])
def login():
    data = request.json
    session['access_token'] = data['access_token'], ''
    return jsonify({'message':'You are logged in.'})  

Ответы [ 3 ]

0 голосов
/ 07 декабря 2018

Ваша конечная точка входа в систему будет принимать только HTTP-запросы "POST".Из-за этой строки:

@app.route("/login", methods=['POST'])

Когда вы пытаетесь открыть свою страницу в браузере - браузер отправит HTTP-запрос «GET» на этот URL.

Вот почему выошибка «Метод не разрешен».Взгляните на мой ответ по upwork для более подробной информации.

0 голосов
/ 08 декабря 2018

Ваш сервер heroku является только внутренним сервером.А маршрут "/ логин" принимает только POST-запрос.Поэтому вы не можете отправить запрос GET на этот маршрут в веб-браузере.Если вы хотите посмотреть ответ с этим маршрутом, вы можете отправить запрос POST с помощью POSTMAN.

0 голосов
/ 07 декабря 2018

Я думаю, что эта часть

@app.route("/")
def home_page():
    access_token = session.get('access_token')
    if access_token is None:
        return redirect(url_for('login'))

Всегда заставлять пользователя посещать страницу входа методом GET.К сожалению, у вас нет метода и маршрута, определенных для обработки этого метода GET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...