OAuth未成功响应

OAuth未成功响应,oauth,Oauth,据 返回带有HTTP 400状态代码的错误响应(除非 否则指定),带有错误和错误描述参数。这个 错误参数将始终是下面列出的值之一 无效的请求 无效的\u客户端 无效补助金 无效的\u范围 未经授权的客户机 不支持的\u授予\u类型 我可以有自定义错误,如“无效验证码”或“需要验证码”吗 我想,如果有人发送了3次错误的凭证,我会发送“需要验证码”错误,并且下次必须发送有效的验证码 我的问题是: 是否允许在OAuth中定义自定义错误代码 有别的办法解决我的问题吗 我不这么认为 您始终可以在错误描

返回带有HTTP 400状态代码的错误响应(除非 否则指定),带有错误和错误描述参数。这个 错误参数将始终是下面列出的值之一

  • 无效的请求
  • 无效的\u客户端
  • 无效补助金
  • 无效的\u范围
  • 未经授权的客户机
  • 不支持的\u授予\u类型
我可以有自定义错误,如“无效验证码”或“需要验证码”吗

我想,如果有人发送了3次错误的凭证,我会发送“需要验证码”错误,并且下次必须发送有效的验证码

我的问题是:

  • 是否允许在OAuth中定义自定义错误代码
  • 有别的办法解决我的问题吗
  • 我不这么认为
  • 您始终可以在
    错误描述
    中添加自定义错误。例如,
    需要验证码

    {
    “错误”:“无效的请求”,
    “错误描述”:“无效的验证码”,
    “error_uri”:“您在这里想要什么”
    }
    您可以访问
    error\u description
    ,查看它是否匹配


  • 一种可能的方法是引入自定义错误代码,并在
    错误描述中使用该代码

    例如,Azure Active Directory B2C有一个密码重置流,当用户单击“忘记密码”时,B2C实际上会向应用程序抛出一个带有自定义错误描述的错误,该应用程序现在可以执行自定义代码。由于AAD是市长OAUTH实现之一,可以认为它是“可信来源”。 使用本地帐户注册或登录的用户流是否包含忘记的密码?链接到体验的第一页。单击此链接不会自动触发密码重置用户流

    相反,错误代码AADB2C90118将返回到应用程序。应用程序需要通过运行重置密码的特定用户流来处理此错误代码。要查看示例,请查看一个简单的ASP.NET示例,该示例演示了用户流的链接


    我正在寻找“来自可靠和/或官方来源的答案”。对此我深表歉意:)error属性的工作是对刚刚处理的请求进行简要描述。使用error_description获取更多细节(比如captcha失败)是完全可以接受的,但它与其他现有错误代码的区别还不够重要,因此不值得使用新的错误类型。
    
                if (notification.ProtocolMessage.ErrorDescription != null && notification.ProtocolMessage.ErrorDescription.Contains("AADB2C90118"))
                {
                    // If the user clicked the reset password link, redirect to the reset password route
                    notification.Response.Redirect("/Account/ResetPassword");
                }