我正在使用Azure AD B2C并添加了登录/注册自定义模板和策略 . 我在前端使用msal.js .
当任何用户尝试登录我们的应用程序时,我们有进程知道该域是否已与Microsoft B2C联合 . 一旦我们识别出用户,我们希望通过传递login_hint将用户定向到Microsoft公共登录 endpoints ,这样他们就会被迫使用工作帐户并获得id_token .
我试图让 endpoints 工作(需要传递login_hint,不知道如何)
directauthority ="https://login.microsoftonline.com/common/oauth2/authorize?"+ this.Config.signUpSignInPolicy;
clientApplication = new Msal.UserAgentApplication(
this.tenantConfig.clientID, this.directauthority,
);
我收到错误“endpoints_resolution_error:无法解析 endpoints ”
我该如何解决这个问题?
请建议
谢谢,
1 回答
您可以将“domain_hint”和“login_hint”参数添加到Azure AD B2C请求:
https://login.microsoftonline.com/<tenant>/oauth2/v2.0/authorize?p=<policy>&...&domain_hint=onmicrosoft.com&login_hint=me@contoso.com
如果将"domain_hint"参数设置为Azure AD技术配置文件的
<Domain />
值,则Azure AD B2C将重定向到Azure AD endpoints ,而不向最终用户显示注册或登录页面 .要将“login_hint”参数从Azure AD B2C传递到Azure AD endpoints :
1)创建“loginHint”声明类型:
2)将“loginHint”输入声明添加到Azure AD技术配置文件:
"loginHint"输入声明引用声明解析程序,该声明解析程序将此输入声明值设置为Azure AD B2C请求的"login_hint"参数 .