首页 > 解决方案 > 更改 AAD 社交登录按钮文本 n B2C 登录页面

问题描述

我有一个使用登录策略通过 AzureAD B2C 进行身份验证的应用程序。用户可以使用本地 B2C 帐户登录,或通过 OpenIdConnect 登录到 Azure B2C 租户。我有一个自定义的登录页面,登录/注册表单被注入到<div id="api"/>. 登录页面如下所示:

登录类型选择

我可以隐藏一些我不想用 CSS 显示的元素,如下所示:

例如:

div.social div.intro {
    display:none
}

最初,我在自定义登录页面中添加了一些 javascript 以使用MutationObserver更改文本。但是,JavaScript 被 B@C 登录过程过滤掉了。

通过自定义本地化 JSON,我能够成功更改本地登录按钮,如下所示:

{
  "ElementType": "ClaimsProvider",
  "ElementId": null,
  "StringId": "SignInWithLogonNameExchange",
  "Override": true,
  "Value": "Broker Sign In"
},

但是,我想更改 AAD 按钮文本。有没有办法更改按钮复制文本?

该按钮如下所示:

AAD mydomain.com

所以我添加了以下内容:

{
  "ElementType": "ClaimsProvider",
  "ElementId": null,
  "StringId": "mydomain.com",
  "Override": true,
  "Value": "Underwriter Sign In"
},

当我尝试上传它时,我得到以下信息:

1 在 api.idpselections 的上传覆盖中发现验证错误。请确保您上传的资源与模板匹配:具有 ElementType: ClaimsProvider 和 StringId: mydomain.com 的本地化字符串不是有效的覆盖。

如果我将覆盖设置为 false,则文件会上传,但设置不会更改。

标签: azure-ad-b2c

解决方案


您可以使用本地化更改按钮文本。

有关如何自定义任何 UI 字符串的信息,请参阅“自定义字符串”部分。

例如:

{
  "ElementType": "UxElement",
  "StringId": "button_continue",
  "Override": true,
  "Value": "Click me"
}

推荐阅读