Azure B2C + ROPC:用户密码重置和刷新令牌

hwazgwia  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(149)

我正在使用一个Web API(ASP.NET,C#,Entity Framework),但无法重置用户密码和刷新令牌。我已经尝试了很多事情,我的老板有点紧张,因为我没有任何进展。
重要的一点是,我必须使用ROPC流,因为它是唯一可以在没有任何浏览器交互的情况下使用的流。目标是在我自己的客户端应用程序中拥有一切,注册,登录/退出和密码重置。
注册用户可以通过我的API的端点登录。登录代码如下所示:

IPublicClientApplication app = PublicClientApplicationBuilder.Create(_clientId)
                        .WithB2CAuthority(_authority)
                        .Build();

AuthenticationResult result = await app.AcquireTokenByUsernamePassword(_scopesRequiredByAPI,
                                   credentials.Email,
                                   credentials.Pwd).ExecuteAsync();

字符串
返回的结果对象不包括刷新标记,我不知道从哪里可以得到一个。
我遇到的另一个问题是密码重置。用户如何在没有任何浏览器交互的情况下重置自己的密码?这在ROPC流程中是不可能的吗?
我非常感谢你的提示、建议和想法。

2ic8powd

2ic8powd1#

根据this
使用ROPC流程时,请考虑以下事项:
当需要用户交互的身份验证流程出现任何中断时,ROPC将不起作用。例如,当密码已过期或需要更改时,需要进行多因素身份验证,或者需要在登录期间收集更多信息(例如,用户同意)。
ROPC仅支持本地帐户。用户无法使用Microsoft、Google+、Twitter、AD-FS或Facebook等联合身份提供商登录。
会话管理(包括保持登录状态(KMSI))不适用。
它支持刷新令牌。是否使用offline_access作用域?

相关问题