我想弄清楚MSAL中是否有办法传入当前令牌或用户名以避免提示用户输入用户名和密码(通过两个没有标签的文本框,只有两个空白输入框在继续使用Azure AD B2C编辑策略之前,这并不理想。
答案 0 :(得分:0)
对于WebApp,如果您已经通过SignIn策略或SignUp / SignIn登录用户,则在启动EditProfile策略时,用户可以通过单点登录(SSO)应该不再次提示输入用户名和密码,而应该直接编辑他们的个人资料。
对于Native客户端,此时没有机制将当前令牌或用户名(无论是使用MSAL,其他一些库还是编码到协议)传递给B2C编辑配置文件策略。您最好的选择是建立自己的编辑个人资料体验,然后直接使用Graph 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论坛中创建一个条目(如果存在,则进行投票),并根据原始要求传递用户名/令牌