Передайте имя пользователя и пароль на сервер Flask Oauth2 (тип предоставления пароля)

Я реализую Flask REST API с помощью Flask-Oauthlib и задаюсь вопросом: можно ли передавать имя пользователя и пароль в параметрах URL? Например:

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 имя пользователя /pass в заголовках запросов? Все примеры типа предоставления пароля используют имя пользователя и пароль в параметрах URL, поэтому не знаю, действительно ли это проблема, если сервер будет использовать SSL.

1 ответ

Решение

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

Другие вопросы по тегам