将用户名和密码传递给 Flask Oauth2 Server(密码授权类型)

Pass username and password to Flask Oauth2 Server (password grant type)

我正在使用 Flask-Oauthlib 实现 Flask REST API,我想知道是否可以在 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 -

有没有办法在请求headers中传递base64编码的username/pass?所有密码授予类型示例都在 URL 参数中使用用户名和密码,所以不知道如果服务器将使用 SSL,这是否是一个真正的问题。

OAuth 协议规范规定必须将参数 POST 编辑到令牌端点。通过接受它们作为查询参数,授权服务器违反了规范。最好使用 POST 以避免凭据最终出现在日志文件中。