我正在编写一个使用OAuth 2.0 password flow来验证用户身份的API。当拒绝访问令牌请求时,客户端似乎没有任何方法可以判断密码是否不正确或已过期。从the spec开始,在两种情况下都应返回错误代码invalid_grant
:
invalid_grant:提供的授权授权(例如,授权代码,资源所有者凭据)或刷新令牌无效,已过期,已撤销,与授权请求中使用的重定向URI不匹配,或已发布给其他客户端。
在响应中使用error_description
表示密码已过期是否可以接受,以便客户端可以采取必要的操作,如果没有,使用OAuth处理密码到期的标准方法是什么?
答案 0 :(得分:0)
“泄漏”出现诸如“密码不正确或过期”等故障的原因并不是验证的最佳做法。
我建议“服务器”记录失败的原因,不要将信息返回给请求者。