忘记密码的用户流无法正常运行Azure AD B2C Msal Android

问题描述

我已经在我的Android应用上使用MSAl库实现了Azure AD B2C,SignIn and SignUp的用户流按预期工作。但是当我尝试在我的应用上单击ForgotPassword时,出现以下错误:

错误:

身份验证失败:com.microsoft.identity.client.exception.MsalServiceException:AADB2C90118:用户忘记了密码。 相关ID:

我在我的应用程序中启用了B2C createSingleAccountPublicClientApplication

解决方法

是的,所以在B2C中忘记密码的工作方式是,如果用户单击“我忘记了密码”链接, 它们会被错误发送回您的应用。

您的应用需要处理此错误并再次触发身份验证,但这一次使用的是忘记密码流而不是登录/注册流。

,

您有两个选择:

(1)如this示例中所述,在当前策略(登录/注册)中实现忘记密码。由于忘记密码已嵌入在策略中,因此不会触发任何错误。

(2)您处理应用程序中的Authentication failed: com.microsoft.identity.client.exception.MsalServiceException: AADB2C90118错误。然后,您的应用程序应针对处理忘记密码的b2c策略发起新的OIDC请求。从技术上讲,您现在拥有两个权限-请参阅下面的示例配置,并注意b2c_1_susib2c_1_forgot_password的不同权限,分别代表符号/签名和忘记密码策略。在这种情况下,请尝试使用sample

作为展示的createMultipleAccountPublicClientApplication
{
 *   "client_id" : "90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6",*   "redirect_uri" : "msauth://com.azuresamples.msalandroidapp/1wIqXSqBj7w%2Bh11ZifsnqwgyKrY%3D",*   "account_mode" : "MULTIPLE",*   "broker_redirect_uri_registered": false,*   "authorities": [
 *     {
 *       "type": "B2C",*       "authority_url": "https://fabrikamb2c.b2clogin.com/tfp/fabrikamb2c.onmicrosoft.com/b2c_1_susi/",*       "default": true
 *     },*     {
 *       "type": "B2C",*       "authority_url": "https://fabrikamb2c.b2clogin.com/tfp/fabrikamb2c.onmicrosoft.com/b2c_1_edit_profile/"
 *     },*       "authority_url": "https://fabrikamb2c.b2clogin.com/tfp/fabrikamb2c.onmicrosoft.com/b2c_1_forgot_password/"
 *     }
 *   ]
 * }

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...