我想在RESTful API中实现一种告诉客户端的方法,即授权用户的密码已过期,必须先在客户端允许使用API之前设置密码。 / p>
此刻我回复了一个带有令牌的201,就像这样
POST /登录时{"rows":["tokenxyz"]}
。我想重建201 {"rows":[{"token":"xyz", "expire_ts":"2017-30-28 07:54:21", "password_change_needed":1}]}
。之后,我会在每个请求上返回403 FORBIDDEN,尽管用户密码上有补丁请求。
我对这个计划不太确定。是否有更好的方法来响应REST请求但告诉客户端,他必须更改密码?我正在寻找最佳实践。
答案 0 :(得分:2)
最佳做法是返回" 401未授权"。如果您的令牌已过期或您需要更改密码,则不再获得授权。 403仅在认证成功时适用。
What's the good http status code to return on expired password?
what should be HTTP status code for credentials Expired error/exception?