将令牌或用户名传递给 MSAL 中的 B2C 编辑策略

Pass token or username to B2C Edit Policy in MSAL

我想弄清楚 MSAL 中是否有办法传递当前令牌或用户名以避免提示用户输入用户名和密码(通过两个没有标签的文本框,只有两个空白输入框,不理想),然后再继续 Azure AD B2C 编辑策略。

对于 WebApp,如果您已经通过 SignIn 策略或 SignUp/SignIn 登录了用户,则在启动 EditProfile 策略时,由于单个 sign-on (SSO) 应该不会再次收到输入用户名和密码的提示,而是应该直接编辑他们的个人资料。

在本机客户端的情况下,目前没有将当前令牌或用户名(无论是使用 MSAL、其他库还是协议编码)传递到 B2C 编辑配置文件策略的机制。最好的办法是构建自己的编辑配置文件体验并直接转到图表 API 以保存更改。

下面是一个示例,其中包含有关如何为 Azure AD B2C 调用图形并向用户进行更新的更多详细信息: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet

PATCH https://graph.windows.net/contosob2c.onmicrosoft.com/users/<user-object-id>?api-version=1.6
Authorization: Bearer eyJhbGciOiJSUzI1NiIsIng1dCI6IjdkRC1nZWNOZ1gxWmY3R0xrT3ZwT0IyZGNWQSIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJod...
Content-Type: application/json
Content-Length: 37
{
    "displayName": "Joe Consumer",                // this request updates only the user's displayName
}

我还建议在 Azure AD B2C UserVoice 论坛中创建一个条目(或投票给一个条目,如果存在的话),请求按照您最初的要求username/token 提交