本機驗證、註冊及其他設定

重要

我們建議您只在您的 Power Pages 網站上使用 Azure AD B2C 提供者進行驗證,並取代本機識別提供者

Power Pages 提供以 ASP.NET 身分識別 API 為基礎建置的驗證功能。 ASP.NET Identity 是以 OWIN 架構為基礎建置,它也是驗證系統的重要元件。 Power Pages 提供下列服務:

  • 本機 (使用者名稱和密碼) 驗證
  • 外部 (社交提供者) 驗證登入,透過協力廠商身分識別提供者
  • 利用電子郵件的雙因素驗證
  • 電子郵件地址確認
  • 密碼復原
  • 邀請代碼註冊,用於註冊預先填入的連絡人記錄

注意

除非從 Adxstudio Portals 升級,否則不會使用連絡人記錄中的 Mobile Phone Confirmed 資料行。

需求

Power Pages 需要:

  • 入口網站基底
  • Microsoft 身分識別
  • Microsoft 身分識別工作流程解決方案套件

驗證並註冊

再次造訪的網站訪客可以使用本機使用者認證或外部身分識別提供者帳戶進行驗證。 新訪客可以註冊使用者帳戶,藉由提供使用者名稱和密碼,或是透過外部提供者登入的方式。 訪客收到網站管理員發出的邀請代碼,可以在註冊新使用者帳戶的過程中兌換代碼。

相關的網站設定:

  • Authentication/Registration/Enabled
  • Authentication/Registration/LocalLoginEnabled
  • Authentication/Registration/ExternalLoginEnabled
  • Authentication/Registration/OpenRegistrationEnabled
  • Authentication/Registration/InvitationEnabled
  • Authentication/Registration/RememberMeEnabled
  • Authentication/Registration/ResetPasswordEnabled

重設密碼

退回在他們註冊時提供電子郵件地址的訪客,會要求將密碼重設權杖傳送至他們的電子郵件帳戶。 重設 Token 可讓擁有者選擇新密碼。 也可以捨棄權杖,沿用使用者的原始密碼。

相關的網站設定:

  • Authentication/Registration/ResetPasswordEnabled
  • Authentication/Registration/ResetPasswordRequiresConfirmedEmail

相關程序:傳送密碼重設給連絡人

  1. 訪客可提供電子郵件地址。
  2. 提交電子郵件地址以開始該程序。
  3. 提示訪客查看電子郵件。
  4. 訪客收到包含指示的密碼重設電子郵件。
  5. 訪客會返回重設表單,並選取新的密碼。
  6. 密碼重設完成。

兌換邀請

兌換邀請代碼可讓註冊的訪客與特別為該訪客事先準備的現有連絡人記錄建立關聯。 通常,邀請代碼會透過電子郵件傳送。 您可以使用一般程式碼提交表單,透過其他通道傳送程式碼。 訪客送出有效的邀請代碼後,正常的使用者登錄 (註冊) 程序就會展開,以建立新的使用者帳戶。

相關的網站設定:Authentication/Registration/InvitationEnabled

相關程序:傳送邀請

自訂邀請電子郵件,以將 URL 加入您的網站上的兌換邀請頁面。

  1. 為新連絡人建立邀請。
  2. 自訂並儲存邀請。
  3. 自訂邀請電子郵件。
  4. 處理傳送邀請工作流程。
  5. 邀請電子郵件開啟兌換頁面。
  6. 使用者可提交邀請碼進行註冊。

已停用註冊

如果讚使用者已兌換邀請後停用使用者的註冊,請使用下列內容片段顯示訊息:Account/Register/RegistrationDisabledMessage

透過設定檔頁面管理使用者帳戶

通過驗證的使用者可管理自己的使用者帳戶,透過設定檔頁面的安全性選項。 在註冊期間,使用者不受限於選擇單一本機帳戶或單一外部帳戶。 使用外部帳戶的使用者可以選擇建立本機帳戶,藉由提供使用者名稱和密碼的方式。 一開始使用本機帳戶的使用者也可以選擇將多個外部身分識別與自己的帳戶建立關聯。 設定檔頁面也是提醒使用者確認電子郵件地址的地方,藉由要求傳送確認電子郵件至使用者的電子郵件帳戶。

相關的網站設定:

  • Authentication/Registration/LocalLoginEnabled
  • Authentication/Registration/ExternalLoginEnabled
  • Authentication/Registration/TwoFactorEnabled

設定或變更密碼

擁有本機帳戶的使用者可以藉由提供原始密碼來選擇新密碼。 沒有本機帳戶的使用者可以選擇使用者名稱和密碼來建立一個新的本機帳戶。 使用者名稱一經設定就無法改變。

相關的網站設定:Authentication/Registration/LocalLoginEnabled

相關程序:

  • 建立使用者名稱和密碼
  • 變更一組密碼

這些工作流程僅在使用入口網站管理應用程式叫用時才起作用。 並不受即將發生的工作流程取代的影響。

確認電子郵件地址

變更電子郵件地址或首次設定電子郵件地址會將其標記為未確認。 使用者可以要求將確認電子郵件傳送至新的電子郵件地址。 電子郵件包含完成電子郵件確認程式的指示。

相關程序:傳送電子郵件確認給連絡人

  1. 使用者會提交新的未確認電子郵件地址。
  2. 使用者檢查電子郵件是否有確認訊息。
  3. 處理傳送電子郵件確認給連絡人工作流程。
  4. 使用者選取確認連結以完成確認程序。

確保為連絡人指定了主要電子郵件地址。 確認電子郵件僅會發送到連絡人記錄的主電子郵件地址 (emailaddress1),而不會送到輔助 (emailaddress2) 或備用 (emailaddress3) 地址。

啟用雙因素驗證

雙因素驗證功能可提升使用者帳戶的安全性,除了標準的本機或外部驗證登入之外,還會要求證明已確認電子郵件的擁有權。 嘗試登入已啟用雙因素驗證的帳戶的使用者時,會在與其帳戶關聯的已確認電子郵件地址或行動電話上收到安全碼。 使用者必須輸入安全碼,才能完成登入程序。 使用者可以選擇讓網站記住成功通過驗證的瀏覽器,如此一來,下次使用者使用同一瀏覽器登入時就不再需要安全碼。 每個使用者帳戶都可個別啟用此功能,且需要已確認的電子郵件地址。

警告

如果您建立並啟用 Authentication/Registration/MobilePhoneEnabled 網站設定來啟用舊版劢能,就會發生錯誤。 此網站設定不會立即提供,並且不支援 Power Pages。

相關的網站設定:

  • Authentication/Registration/TwoFactorEnabled
  • Authentication/Registration/RememberBrowserEnabled

相關程序:傳送電子郵件雙因素碼給連絡人

  1. 訪客選擇透過電子郵件接收安全碼。
  2. 訪客會等待包含安全碼的電子郵件。
  3. 訪客會輸入安全性代碼。
  4. 處理傳送電子郵件雙因素碼給連絡人工作流程。
  5. 訪客可以停用雙因素身份驗證。

管理外部帳戶

通過驗證的使用者可連或註冊多個外部身分識別到其使用者帳戶 (每個已設定的身分識別提供者一個)。 連接識別後,使用者可以選擇使用任何連接的身份登入。 身分識別也可以中斷連線,只要有單一外部或本機身分識別保持連線即可。

相關的網站設定:Authentication/Registration/ExternalLoginEnabled

相關流程:連接身份

  1. 訪客可選擇一個提供者來連接到使用者帳戶。
  2. 訪客會使用連接的提供者來進行註冊。

提供者也可以中斷連線。

啟用 ASP.NET Identity 驗證

下方表格描述啟用和停用各項驗證功能和行為的設定。

網站設定名稱 描述:
Authentication/Registration/LocalLoginEnabled 啟用或停用根據使用者名稱 (或電子郵件地址) 和密碼的本機帳戶登入。 預設值:True
Authentication/Registration/LocalLoginByEmail 啟用或停用使用電子郵件地址而非使用者名稱的本機帳戶登入。 預設值:False
Authentication/Registration/ExternalLoginEnabled 啟用或停用外部帳戶登入和註冊。 預設值:True
Authentication/Registration/RememberMeEnabled 在本機登入時,選取或清除 記住我?核取方塊,讓已驗證的工作階段在網頁瀏覽器關閉時也能持續存在。 預設值:True
Authentication/Registration/TwoFactorEnabled 啟用或停用雙驗證。 擁有已確認電子郵件地址的使用者,可以選擇加入額外的雙因素驗證安全性。 預設值:False
Authentication/Registration/RememberBrowserEnabled 在第二因素驗證(電子郵件代碼)上,選取或清除記住瀏覽器? 核取方塊,對目前瀏覽器的保留第二因素驗證。 使用者後續登入時,使用相同的瀏覽器就不需要通過第二因素驗證。 預設值:True
Authentication/Registration/ResetPasswordEnabled 啟用或停用密碼重設功能。 預設值:True
Authentication/Registration/ResetPasswordRequiresConfirmedEmail 啟用或停用僅透過已確認的電子郵件地址重設密碼。 若啟用,未確認的電子郵件地址就無法用來傳送密碼重設指示。 預設值:False
Authentication/Registration/TriggerLockoutOnFailedPassword 啟用或停用記錄失敗的密碼嘗試次數。 如果停用,使用者帳戶將不會遭到鎖定。預設:True
Authentication/Registration/IsDemoMode 啟用或停用僅在開發或示範環境中使用的示範模式旗標。 請勿在生產環境中啟用此設定。 示範模式同樣需要網頁瀏覽器在 Web 應用程式伺服器本機上執行。 當示範模式啟用時,密碼重設碼及第二因素碼會對使用者顯示,以便快速存取。 預設值:False
Authentication/Registration/LoginButtonAuthenticationType 如果網站只需要單一外部身分識別提供者 (用來處理所有驗證),此設定可讓標題導覽列的登入按鈕直接連結至提供者的登入頁面 (而不會連結至中繼本機登入表單和身分識別提供者選取頁面)。 只能針對此動作選取一個身分識別提供者。 指定提供者的 AuthenticationType
- 如果使用 OpenID Connect 的單一登入設定 (如 Azure AD B2C),使用者必須提供權限。
- 對於 OAuth 2.0 型提供者,接受值為 FacebookGoogleYahooMicrosoftLinkedInTwitter
- 對於 WS-Federation 型提供者,使用針對 Authentication/WsFederation/ADFS/AuthenticationTypeAuthentication/WsFederation/Azure/\<provider\>/AuthenticationType 網站設定指定的值。

啟用或停用使用者註冊

下列資料表會說明啟用和停用使用者登錄 (註冊) 選項的設定:

網站設定名稱 描述
Authentication/Registration/Enabled 啟用或停用使用者註冊的所有表單。 註冊必須啟用,此區段中的其他設定才會生效。 預設值:True
Authentication/Registration/OpenRegistrationEnabled 啟用或停用註冊表單。 註冊表可讓匿名訪客建立新的使用者帳戶。 預設值:True
Authentication/Registration/InvitationEnabled 啟用或停用擁有邀請代碼的使用者,註冊時能使用的邀請代碼兌換表單。 預設值:True
Authentication/Registration/CaptchaEnabled 啟用或停用使用者註冊頁面上的 Captcha。 預設值:False
預設情況下,此站點設定可能無法使用。 若要啟用 Captcha,您必須建立網站設定,並將值設為 True。

確保為使用者指定了主要電子郵件地址。 使用者只能透過發送到連絡人記錄的主電子郵件地址 (emailaddress1) 註冊,而不會送到輔助 (emailaddress2) 或備用 (emailaddress3) 地址。

使用者認證驗證

下方資料表會描述調整使用者名稱和密碼驗證參數的設定。 驗證會在使用者註冊新的本機帳戶或變更密碼時發生。

網站設定名稱 描述
Authentication/UserManager/PasswordValidator/EnforcePasswordPolicy 決定密碼是否包含下列三種類別的字元:
  • 歐語系的大寫字母 (A 到 Z,包含變音符號、希臘和斯拉夫字元)
  • 歐語系的小寫字母 (a 到 z、ß,包含變音符號、希臘和斯拉夫字元)
  • 基本的 10 個數字 (0 到 9)
  • 非英數字元或特殊字元
預設值:True。 進一步了解密碼原則
Authentication/UserManager/UserValidator/AllowOnlyAlphanumericUserNames 決定使用者名稱是否僅允許使用英數字元。 預設值:False
Authentication/UserManager/UserValidator/RequireUniqueEmail 決定驗證使用者時是否需要唯一的電子郵件地址。 預設值:True
Authentication/UserManager/PasswordValidator/RequiredLength 設定密碼最少需要的長度。 預設:8
Authentication/UserManager/PasswordValidator/RequireNonLetterOrDigit 決定密碼是否需要特殊字元。 預設值:False
Authentication/UserManager/PasswordValidator/RequireDigit 決定密碼是否需要數字。 預設值:False
Authentication/UserManager/PasswordValidator/RequireLowercase 決定密碼是否需要小寫字母。 預設值:False
Authentication/UserManager/PasswordValidator/RequireUppercase 決定密碼是否需要大寫字母。 預設值:False

使用者帳戶鎖定設定

下方資料表會描述定義帳戶變成鎖定無法進行驗證的方式和時機的設定。 當偵測到在短暫的時間範圍內密碼嘗試失敗達到特定次數時,就會將使用者帳戶暫時鎖定。 使用者可以在鎖定期間過後再試一次。

網站設定名稱 描述
Authentication/UserManager/UserLockoutEnabledByDefault 表示建立使用者時,使用者鎖定是否啟用。 預設值:True
Authentication/UserManager/DefaultAccountLockoutTimeSpan 設定用戶在達到最大失敗嘗試次數後,被鎖定的預設時間長度。 預設值:24:00:00 (1 天)
Authentication/UserManager/MaxFailedAccessAttemptsBeforeLockout 允許的登入失敗次數上限,達到此次數後,使用者就會被鎖定 (如果已啟用鎖定)。 預設:5

下列資料表會說明修改 CookieAuthenticationOptions 類所定義的預設驗證 cookie 行為的設定。

網站設定名稱 描述
Authentication/ApplicationCookie/AuthenticationType 設定應用程式驗證 Cookie 類型 預設值:ApplicationCookie
Authentication/ApplicationCookie/CookieName 決定用來保存身分識別的 Cookie 名稱。 預設值:.AspNet.Cookies
Authentication/ApplicationCookie/CookieDomain 決定用來建立 Cookie 的網域。
Authentication/ApplicationCookie/CookiePath 決定用來建立 Cookie 的路徑。 預設:/
Authentication/ApplicationCookie/CookieHttpOnly 決定瀏覽器是否應該允許用戶端 JavaScript 存取 Cookie。 預設值:True
Authentication/ApplicationCookie/CookieSecure 決定是否只應在 HTTPS 要求上傳輸 Cookie。 預設值:SameAsRequest
Authentication/ApplicationCookie/ExpireTimeSpan 控制應用程式 Cookie 從其建立時間起算的持續有效時間。 預設值:24:00:00 (1 天)
Authentication/ApplicationCookie/SlidingExpiration 指示中介軟體每當處理到已超過一半期限範圍的要求時,即重新發行有新的到期時間的新 Cookie。 預設值:True
Authentication/ApplicationCookie/LoginPath 告知中介軟體應將傳出的 401 未授權狀態碼變更為 302 重新導向至指定之登入路徑。 預設值:/signin
Authentication/ApplicationCookie/LogoutPath 如果中介軟體已提供 sign-out path,就會根據 ReturnUrlParameter 會要求重新導向至該路徑。
Authentication/ApplicationCookie/ReturnUrlParameter 當 401未授權狀態碼變更為 302 重新導向至指定的登入路徑時,會決定中介軟體所附加的查詢字串參數的名稱。
Authentication/ApplicationCookie/SecurityStampValidator/ValidateInterval 設定安全性戳記驗證之間的時段。 預設:30 分鐘
Authentication/TwoFactorCookie/AuthenticationType 設定雙因素驗證 Cookie 類型。 預設值:TwoFactorCookie
Authentication/TwoFactorCookie/ExpireTimeSpan 控制雙因素 Cookie 從其建立時間起算的持續有效時間。 值不應超過 6 分鐘。 預設:5 分鐘

後續步驟

將身分識別提供者移轉至 Azure AD B2C

另請參閱

Power Pages 中的驗證概觀
設定 OAuth 2.0 提供者
設定 OpenID Connect 提供者
設定 SAML 2.0 提供者
設定 WS-同盟提供者