2016-08-28 1 views
0

Я реализую API-интерфейс Flask REST с Flask-Oauthlib и интересно, можно ли передавать имя пользователя и пароль в параметрах URL? Например:Пропустить имя пользователя и пароль для Flask Oauth2 Server (тип предоставления пароля)

GET http://127.0.0.1:5000/api/token?client_id=CLIENT_ID&grant_type=password&username=myusername&password=hopeudontseemypass 

В моей среде разработки все запросы показываются в журналах в виде обычного текста, как это:

127.0.0.1 - "GET /api/token?client_id=CLIENT_ID&grant_type=password&username=myusername&password=hopeudontseemypass HTTP/1.1" 200 - 

Есть ли способ передать base64 кодированные имя пользователя/пасс в заголовках запросов? Все примеры типов паролей позволяют использовать имя пользователя и пароль в параметрах URL, поэтому не знаю, действительно ли это проблема, если сервер будет использовать SSL.

ответ

2

Спецификация протокола OAuth говорит, что параметры должны быть отправлены в конечную точку маркера. Принимая их в качестве параметров запроса, авторизационный сервер нарушает спецификацию. Лучше использовать POST, чтобы избежать ввода учетных данных в файлы журналов.

+0

Отлично! спасибо за Ваш ответ. Не заметил, что я разрешаю GET ... Я изменил это на POST, но все еще получаю имя пользователя и пароль в виде обычного текста в журнале запросов HTTP. – iqpolar

+0

ли вы удалили параметры GET после добавления их в POST? –

+0

теперь я переехал, чтобы получить параметры, чтобы отправить тело, и он работает – iqpolar

Смежные вопросы