我正在使用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 -
有没有办法在请求标头中传递base64编码的用户名/密码?所有密码授权类型示例都在URL参数中使用用户名和密码,因此如果服务器将使用SSL,则不知道这是否真的有问题。
答案 0 :(得分:2)
OAuth协议规范指出,参数必须POST到令牌端点。通过将它们作为查询参数接受,授权服务器违反了规范。最好使用POST来避免凭证在日志文件中结束。