簡體   English   中英

Azure B2C 在統一注冊/登錄流程中首先顯示注冊頁面

[英]Azure B2C Show Signup Page First in Unified Signup/Signin Flow

我一直在使用關於 ContentDefinitions 的b2c 入門包MSDN 文檔,以及 Azure B2C 產品的其他各個方面。

任何嘗試過實施自定義策略的人都意識到,文檔並不總是那么徹底或明確,而且通常在語法上不正確或缺少細節。

考慮到這一點,我想知道:

  • 在統一的注冊/登錄流程中,是否可以在“登錄”屏幕之前觸發“注冊”屏幕?
  • 另外,是否可以在“注冊”屏幕上添加“登錄”屏幕鏈接?
    我知道可以通過將<Item Key="setting.showSignupLink">false</Item>添加到其元數據來將“注冊”屏幕鏈接添加到 ContentDefinition,但無論如何此鏈接似乎都是開箱即用的使用api.signuporsignin ContentDefinition 時。
    到目前為止,我已經嘗試將<Item Key="setting.showSigninLink">false</Item>添加到我的 ContentDefinition 的 MetaData 塊中,但無濟於事(我在任何地方的 MSDN 文檔中都沒有找到這個,只是想到了試試看)。

澄清一下,在注冊/登錄流程中,我想在啟動策略后立即顯示“注冊”屏幕,然后可以選擇導航到“登錄”頁面。

任何建議將不勝感激。

對於其他在這里發現自己的人... Azure 團隊現在提供了如何在自定義策略中執行此操作的示例。 您提供查詢字符串參數以直接導航到注冊頁面。

https://github.com/azure-ad-b2c/samples/tree/master/policies/sign-up-deep-link

這是不可能的。 您可以使用 B2C 請求 email,然后在單個 B2C 策略中根據它是否存在發送用戶登錄或注冊。

但是要獲得您描述的用戶體驗,您需要將旅程分成兩部分,注冊和單獨登錄。

您可以通過將第 1 步和第 2 步轉換為單一類型的步驟來做到這一點:ClaimsExchange 並分別引用登錄或注冊技術配置文件。

然后你需要在兩個策略之間啟用用戶go。 為此,請使用自定義 html 在每個策略中嵌入一個鏈接:myapp.com/signin 或 myapp.com/signup。 然后,應用程序應向相應的 B2C 策略 ID 發送格式正確的身份驗證請求。 https://docs.microsoft.com/en-us/azure/active-directory-b2c/customize-ui-with-html?pivots=b2c-custom-policy

架構參考在這里https://docs.microsoft.com/en-us/azure/active-directory-b2c/self-asserted-technical-profile

您可以在此處了解更多信息https://azure-ad-b2c.github.io/azureadb2ccommunity.io/docs/custom-policy-concepts/

我想出的解決方案如下:
沒有本地方式(即 - 您可以設置的 xml 策略配置參數)向注冊頁面添加重啟流程/登錄按鈕。

如果您的主要目標是從“/signup”返回到“/signin”,我建議將以下 html 添加到您的模板中,然后您可以根據自己的喜好設置樣式:

(Note the call to `history.back()` on the anchor tag)
<body>
    <div class="container unified_container">
      <div class="row">
        <div class="col-lg-6">
          <div class="panel panel-default">
            <div class="panel-body">
              <div id="api"></div>
              <div id="signinContainer">
                <p>
                  Already Registered?
                  <a
                    id="signinLink"
                    type="submit"
                    aria-disabled="false"
                    aria-label="To Sign in screen"
                    href="javascript:history.back()"
                    >Log in</a
                  >
                </p>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </body>

或者,如果您知道您希望 go 返回特定次數(例如,返回 3 頁),您可以使用以下命令代替我們在上面看到的history.back()
history.go(-3);

暫無
暫無

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

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