如果我无法发出特定索赔,如何提示用户输入其他信息?



我有一个场景,当我想在GetProfileDataAsync(ProfileDataRequestContext context)中的ProfileService中添加声明时。仅特定客户需要这些声明,而不是所有声明。然而,用户事先没有填写所需信息,比如说是电话号码。

此刻我该怎么办?什么是最佳实践?我是否应该以某种方式在GetProfileDataAsync中发布令牌失败,并将用户重定向到要求用户提供丢失电话号码的页面?但为了首先将新电话号码与他的帐户关联,我需要对用户进行身份验证,所以我无论如何都需要发布令牌,然后在填写缺失信息后以某种方式重新发布。

最佳实践是什么?

我会在IdentityServer/Account页面逻辑中检查这一点,因此当用户经过身份验证时,在调用PasswordSignInAsync登录用户IdentityServer之前,您也会检查丢失的声明。

即在此之前:

var result = await _signInManager.PasswordSignInAsync(model.Username, model.Password, model.RememberLogin, lockoutOnFailure: true);

最新更新