【问题标题】:How to validate ask password confirmation code wso2 SCIM 2 API如何验证询问密码确认码 wso2 SCIM 2 API
【发布时间】:2020-06-27 10:58:06
【问题描述】:

我正在使用 SCIM api 注册用户

curl -v -k --user admin:admin --data '{"schemas":[],"name":{"familyName":"Smith","givenName":"Paul"},"userName":"Paul","password":"password","emails":[{"primary":true,"value":"paul@somemail.com"}],"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User":{askPassword:"true"}}' --header "Content-Type:application/json" https://localhost:9443/scim2/Users

我有一个

为新帐户创建密码

通过电子邮件发送到我的主电子邮件地址并附上确认码。

如何使用 SCIM 2 通过 wso2is 验证此确认码?

在 REST API 中有一个 validate code 选项。

我尝试了 REST API

curl -k -v -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -d '{ "code": "84325529-8aa7-4851-8751-5980a7f2d9f7","properties": []}' "https://localhost:9443/api/identity/user/v1.0/validate-code"

如果代码无效则返回

{
    "code": "18001",
    "message": "Bad Request",
    "description": "Invalid Code '84325529-8aa7-4851-8751-5980a7f2d9f7'"
}

如果返回有效代码

{
    "code": "18001",
    "message": "Bad Request",
    "description": "Invalid Code '%s.'"
}

没有控制台错误

验证代码使用REST API work flow

【问题讨论】:

    标签: wso2 wso2is


    【解决方案1】:

    WSO2 Identity Server 中没有这样的 SCIM API 来验证确认码。 WSO2 Identity Server 有一个可以满足您要求的soap API (UserInformationRecoveryService-verifyConfirmationCode) 和一个REST API (/validate-code)。

    您可以找到 SOAP API here

    【讨论】:

    • 谢谢,我试过 REST API 它返回 { "code": "18001", "message": "Bad Request", "description": "Invalid Code '%s.'" },
    • 能否附上您发送的请求?如果在 carbon 控制台中发现任何错误日志,请同时附上它们
    • 根据错误日志,确认码为空。无效代码的有效响应应如下所示: {"code":"18001","message":"Bad Request","description":"Invalid Code '893245029-8aa7-3859-8859-123ru4555oa .'"}
    • 请关注此博客medium.com/@isurakarunaratne/… 并启用以下组件的调试日志 log4j.logger.org.wso2.carbon.identity.governance=DEBUG, log4j.logger.org.wso2.carbon.identity .recovery=DEBUG,请附上调试日志
    【解决方案2】:

    我正在这里编辑我的答案,因为我与开发人员交谈,我意识到您需要使用不同的 API 来验证确认码:documentation

    所以你需要发送以下请求:

    curl -k -v -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -d '{ "code": "84325529-8aa7-4851-8751-5980a7f2d9f7","step": "UPDATE_PASSWORD","properties": []}' "https://localhost:9443/api/identity/recovery/v0.9/validate-code"
    

    响应应该是

    "HTTP/1.1 202 Accepted"
    

    我试过了,效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-28
      • 2013-09-18
      • 2015-04-03
      • 2023-02-23
      • 2017-07-26
      • 1970-01-01
      • 1970-01-01
      • 2014-10-18
      相关资源
      最近更新 更多