簡體   English   中英

Azure AD B2C 頁面 UI 自定義不支持 Bootstrap 嗎?

[英]Doesn't Azure AD B2C Page UI Customization Support Bootstrap?

我正在嘗試自定義 Azure AD B2C 統一登錄/注冊頁面上的頁面 UI。

我能夠使用正確的CORS設置創建我的模板並將所有資產(即 html 頁面、圖像和 css)上傳到我的 Azure Blob 存儲容器。

然而,當我拉起頁面時,它看起來絕對可怕! 它似乎不支持 Bootstrap。 我在某處讀到不允許使用 JavaScript。 這就是原因嗎?

一旦我上傳了我的自定義 HTML 頁面,Azure AD B2C 似乎正在剝離我的自定義所需的許多設計元素,例如我的body標簽中的idstyle ——見下文:

<!-- Omitted for brevity -->
<body id="my-login-class" style="url: ('https://myazurestorage.blob.core.windows.net/my-container/my-bg-image.jpg')">

   <div id="some-important-id" class="my-important-class">
      <div class="col-xs-8">
          <div>Some important message</div>
      <div>
      <div class="col-xs-4">
         <div id="api">
         </div>
      </div>
   </div>

</body>

當我在呈現自定義頁面后檢查頁面源時,我看到我的所有類和 Id 以及引導引用(例如cssjs )都被刪除了。

我做對了嗎? 沒有 Bootstrap 意味着 Azure AD B2C 只支持最基本的自定義?

您的 HTML 模板可以包含任何外部、 head或內聯樣式,但不能包含腳本。

可在WoodGrove 注冊或登錄頁面上找到自定義頁面的示例。

此自定義頁面的 HTML 模板可以在WoodGrove GitHub 存儲庫中找到。

此 HTML 模板包括Bootstrap 的 Reboot 樣式以及 WoodGrove 的特定樣式。

Azure AD B2C 創建headbody元素,然后將每個headbody元素的子元素從 HTML 模板復制到其 HTML 文檔。

因此,您不應將屬性添加到 HTML 模板中的body元素,因為它們不會被復制。

您可以導入引導引用。 請參閱此文檔: https ://docs.microsoft.com/en-us/dynamics365/customer-engagement/portals/azure-ad-b2c

另請參閱: https ://github.com/Azure-Samples/active-directory-b2c-php-webapp-openidconnect

它看起來很可怕是有原因的。 頁面沒有應用樣式,因此可以完全自定義。 您可以參考 CSS 的 Bootstrap; 但是,我在將 bootstrap.js 用於模態時遇到了問題,因為 Azure B2C API 似乎將 bootstrap 用於模態......根據我的經驗,最好依賴 Vanilla JS 並省略對第三個的任何引用-派對JS。

如果您使用自己的自定義策略,則可以使用 JavaScript。 JavaScript 有一些限制,最好的方法是先嘗試使用策略完成任何事情。

要啟用 JavaScript,請使用以下指南:

<RelyingParty>
   <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
   <UserJourneyBehaviors>
     <ScriptExecution>Allow</ScriptExecution>
   </UserJourneyBehaviors>
 ...
</RelyingParty>

引用外部 CSS/JS 文件時,URL 必須是絕對的。 對於 HTML 文件的 head 部分以及 JavaScript 中的任何引用都是如此。 相對 URL 只能在 CSS 文件中引用。

不正確:

<link href="./css/assets.css" rel="stylesheet" type="text/css" />

正確的:

<link href="https://your-storage-account.blob.core.windows.net/your-container/css/assets.css" rel="stylesheet" type="text/css" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM