Java OAuth2提供程序实现|自定义错误

Java OAuth2提供程序实现|自定义错误,java,oauth,custom-errors,Java,Oauth,Custom Errors,我到处寻找这个问题的答案,现在我正在向社区伸出援手 我正在尝试用Java构建OAuth2访问令牌端点。 我将实现资源所有者凭据授予类型以返回访问令牌。指定最终用户的用户名/密码以获取访问令牌 在用户凭据的身份验证期间,许多规则可能会阻止用户访问我的web服务,例如用户帐户被锁定。 OAuth2表示必须按如下方式返回错误: { 错误:无效的\u请求, 错误描述:描述, 错误\u uri:某些\u链接 } 据我所知,OAuth规范列出了标准错误代码,您应该避免在响应中使用自定义错误代码,如{erro

我到处寻找这个问题的答案,现在我正在向社区伸出援手

我正在尝试用Java构建OAuth2访问令牌端点。 我将实现资源所有者凭据授予类型以返回访问令牌。指定最终用户的用户名/密码以获取访问令牌 在用户凭据的身份验证期间,许多规则可能会阻止用户访问我的web服务,例如用户帐户被锁定。 OAuth2表示必须按如下方式返回错误: { 错误:无效的\u请求, 错误描述:描述, 错误\u uri:某些\u链接 } 据我所知,OAuth规范列出了标准错误代码,您应该避免在响应中使用自定义错误代码,如{error:account_locked};然而,我已经看到一些API提供者这样做了。 我需要这个API的客户端能够读取响应中的错误代码,以知道帐户何时被锁定。或其他特定场景 现在我的问题是: 这里有没有人有经验建议应该如何实现这个场景? 我应该实现自定义错误代码吗? 我是否应该忘记OAuth2规范,只构建一个/令牌端点来完成同样的事情:验证用户身份,生成令牌,并返回API的标准错误响应? 我没有一个完全相同的塞纳里奥。但我不会使用自定义错误代码,因为它违反了OAuth2。相反,在这种情况下,我可以考虑使用Error描述作为错误代码字段;或者我可以添加一个biz_error_code字段

是的,您可以忘记OAuth2,它在http状态代码和错误代码方面是不灵活的。但最终您将构建与OAuth2的“password”grant_类型非常相似的东西,例如访问令牌和刷新令牌


谢谢你的回答。2是我最后做的。