本機驗證、註冊及其他設定
注意
自 2022 年 10 月 12 日起,Power Apps 入口網站為 Power Pages。 其他資訊:Microsoft Power Pages 現在已推出 (部落格)
我們很快就會遷移並將 Power Apps 入口網站文件與 Power Pages 文件併合。
重要
- 我們建議您只使用Azure Active Directory B2C (Azure AD B2C) 識別提供者進行驗證,並且取代入口網站的本機識別提供者。 更多資訊:將身分識別提供者移轉至 Azure AD B2C
- 設定本機驗證需要使用 入口網站管理應用程式 來手動設定必要的網站設定。
入口網站功能提供驗證功能,以 ASP.NET 身分識別 API 為基礎建置。 ASP.NET Identity 是以 OWIN 架構為基礎建置,它也是驗證系統的重要元件。 提供的服務包括:
- 本機 (使用者名稱/密碼) 使用者登入
- 外部 (社交提供者) 使用者登入,透過協力廠商身分識別提供者
- 利用電子郵件的雙因素驗證
- 電子郵件地址確認
- 密碼復原
- 邀請代碼註冊,用於註冊預先填入的連絡人記錄
注意
連絡人資料表的連絡人入口網站表單上的行動電話號碼已確認欄位,目前未提供任何用途。 只有在從 Adxstudio Portals 升級時,才能使用此欄位。
需求
入口網站需要:
- 入口網站基底
- Microsoft 身分識別
- Microsoft 身分識別工作流程解決方案套件
驗證概觀
再次造訪的入口網站訪客可以使用本機使用者認證或外部身分識別提供者帳戶進行驗證。 新訪客可以註冊新的使用者帳戶,藉由提供使用者名稱和密碼,或是透過外部提供者登入的方式。 訪客收到入口網站管理員發出的邀請代碼,可以在註冊新使用者帳戶的過程中兌換代碼。
相關的網站設定:
Authentication/Registration/Enabled
Authentication/Registration/LocalLoginEnabled
Authentication/Registration/ExternalLoginEnabled
Authentication/Registration/OpenRegistrationEnabled
Authentication/Registration/InvitationEnabled
Authentication/Registration/RememberMeEnabled
Authentication/Registration/ResetPasswordEnabled
使用本機身分或外部身分登入
下列圖片顯示使用本機帳戶的登入選項,或選取外部的識別提供者的登入選項。
使用本機身分或外部身分註冊
下列圖片顯示使用本機帳戶註冊的畫面,或選取外部的識別提供者註冊的畫面。
手動兌換邀請代碼
下圖顯示使用邀請代碼來兌換邀請的選項。
忘記密碼或密碼重設
再次造訪且需要重設密碼的訪客 (先前已在使用者設定檔中指定電子郵件地址),可以要求傳送密碼重設 Token 至電子郵件帳戶。 重設 Token 可讓擁有者選擇新密碼。 也可以捨棄 Token,沿用使用者的原始密碼。
相關的網站設定:
Authentication/Registration/ResetPasswordEnabled
Authentication/Registration/ResetPasswordRequiresConfirmedEmail
相關程序: 傳送密碼重設給連絡人
- 在工作流程中視需要自訂電子郵件。
- 送出電子郵件以啟動程序。
- 提示訪客查看電子郵件。
- 訪客收到包含指示的密碼重設電子郵件。
- 訪客返回重設表單。
- 密碼重設完成。
兌換邀請
兌換邀請代碼可讓註冊的訪客與特別為該訪客事先準備的現有連絡人記錄建立關聯。 邀請代碼通常是以電子郵件寄出,但也可以使用一般代碼送出表單,透過其他管道傳送代碼。 有效的邀請代碼送出後,正常的使用者登錄 (註冊) 程序就會展開,以建立新的使用者帳戶。
相關的網站設定:
Authentication/Registration/InvitationEnabled
相關程序: 傳送邀請
此工作流程傳送的電子郵件必須使用入口網站:https://portal.contoso.com/register/?returnurl=%2f&invitation={Invitation Code(Invitation)} 的兌換邀請頁面 URL 進行自訂。
為新連絡人建立邀請。
自訂並儲存新邀請。
自訂邀請電子郵件。
處理傳送邀請工作流程。
邀請電子郵件開啟兌換頁面。
使用者使用送出的邀請代碼註冊。
已停用註冊
如果讚使用者已兌換邀請後停用使用者的註冊,請使用下列內容片段顯示訊息:
名稱:Account/Register/RegistrationDisabledMessage
值:註冊已遭到停用。
透過設定檔頁面管理使用者帳戶
通過驗證的使用者可管理自己的使用者帳戶,透過設定檔頁面的安全性導覽列。 使用者在註冊期間,不受限於選擇單一本機帳戶或單一外部帳戶。 使用外部帳戶的使用者可以選擇建立本機帳戶,藉由套用使用者名稱和密碼的方式。 一開始使用本機帳戶的使用者也可以選擇將多個外部身分識別與自己的帳戶建立關聯。 設定檔頁面也是提醒使用者確認電子郵件地址的地方,藉由要求傳送確認電子郵件至使用者的電子郵件帳戶。
相關的網站設定:
Authentication/Registration/LocalLoginEnabled
Authentication/Registration/ExternalLoginEnabled
Authentication/Registration/TwoFactorEnabled
設定或變更密碼
擁有現有本機帳戶的使用者可以藉由提供原始密碼來套用新密碼。 沒有本機帳戶的使用者可以選擇使用者名稱和密碼來建立一個新的本機帳戶。 使用者名稱一經設定就無法改變。
相關的網站設定:
Authentication/Registration/LocalLoginEnabled
相關程序:
- 建立使用者名稱和密碼。
- 變更現有密碼。
注意
上述工作流程只有在使用入口網站管理應用程式叫用聯絡人時才會運作。 這些工作流程並不受即將發生的工作流程取代的影響。
確認電子郵件地址
變更 (或首次設定) 電子郵件地址時,會將電子郵件設為未確認狀態。 使用者可以要求傳送確認電子郵件至新的電子郵件地址,該電子郵件將會向使用者提供完成電子郵件確認程序的指示。
相關程序: 傳送電子郵件確認給連絡人
- 在工作流程中視需要自訂電子郵件。
- 使用者送出未確認狀態的新電子郵件。
- 使用者檢查電子郵件是否有確認。
- 自訂確認電子郵件。
- 處理傳送電子郵件確認給連絡人工作流程。
- 使用者選取確認連結以完成確認程序。
注意
因為確認電子郵件只會傳送至連絡人的主要電子郵件 (emailaddress1),請確定已指定連絡人的主要電子郵件。 確認電子郵件不會傳送至連絡人記錄的次要電子郵件 (emailaddress2) 或替代電子郵件 (emailaddress3)。
啟用雙因素驗證
雙因素驗證功能可提升使用者帳戶的安全性,除了標準的本機或外部帳戶登入之外,還會要求證明已確認電子郵件的擁有權。 嘗試登入已啟用雙因素驗證的帳戶的使用者,會在與其帳戶關聯的已確認電子郵件或行動電話上收到安全碼。 必須送出安全碼,才能完成登入程序。 使用者可以選擇記住成功通過驗證的瀏覽器,如此一來,下次使用者使用同一瀏覽器登入時就不再需要安全碼。 每個使用者帳戶都可個別啟用此功能,且需要已確認的電子郵件。
警告
如果您建立並啟用 Authentication/Registration/MobilePhoneEnabled 網站設定來啟用舊版劢能,就會發生錯誤。 此網站設定不會立即提供,並且不支援入口網站。
相關的網站設定:
Authentication/Registration/TwoFactorEnabled
Authentication/Registration/RememberBrowserEnabled
相關程序: 傳送電子郵件雙因素碼給連絡人
- 啟用雙因素驗證。
- 選擇透過電子郵件接收安全碼。
- 等待包含安全碼的電子郵件。
- 相關程序傳送電子郵件雙因素碼給連絡人。 工作流程。
- 雙因素驗證可以停用。
管理外部帳戶
通過驗證的使用者可連接 (註冊) 多個外部身分識別到其使用者帳戶 (每個已設定的身分識別提供者一個)。 連接身分識別後,使用者可以選擇使用任何連接的身份登入。 現有身分也可以中斷連線,只要有單一外部或本機身分保持連線即可。
相關的網站設定:
Authentication/Registration/ExternalLoginEnabled
外部身分識別提供者網站設定
選取要連線至使用者帳戶的提供者。
使用您要連接的提供者登入。
提供者現已連線。 提供者也可以中斷連線。
啟用 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– 型提供者,接受值為: Facebook 、Google 、Yahoo 、Microsoft 、LinkedIn 或 Twitter 對於 WS-Federation– 型提供者,使用為 Authentication/WsFederation/ADFS/AuthenticationType 和 Authentication/WsFederation/Azure/[provider]/AuthenticationType 網站設定的指定值。 範例: https://adfs.contoso.com/adfs/services/trust 、Facebook-0123456789 、Google 、Yahoo! 、uri:WindowsLiveID 。 |
啟用或停用使用者註冊
接著說明啟用和停用使用者登錄 (註冊) 選項的設定:
網站設定名稱 | 描述 |
---|---|
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 | 決定密碼是否包含下列三種類別的字元:
|
Authentication/UserManager/UserValidator/AllowOnlyAlphanumericUserNames | 決定使用者名稱是否僅允許使用英數字元。 預設值:false |
Authentication/UserManager/UserValidator/RequireUniqueEmail | 決定驗證使用者時是否需要唯一的電子郵件地址。 預設:true |
Authentication/UserManager/PasswordValidator/RequiredLength | 密碼最少需要的長度。 預設: 8 |
Authentication/UserManager/PasswordValidator/RequireNonLetterOrDigit | 決定密碼是否需要非字母或數字字元。 預設值:false |
Authentication/UserManager/PasswordValidator/RequireDigit | 決定密碼是否需要數字 (從 0 到 9)。 預設值:false |
Authentication/UserManager/PasswordValidator/RequireLowercase | 決定密碼是否需要小寫字母 (從 a 到 z)。 預設值:false |
Authentication/UserManager/PasswordValidator/RequireUppercase | 決定密碼是否需要大寫字母 (從 A 到 Z)。 預設值:false |
使用者帳戶鎖定設定
下方描述定義帳戶變成鎖定無法進行驗證的方式和時機的設定。 當偵測到在短暫的時間範圍內密碼嘗試失敗達到特定次數時,就會將使用者帳戶鎖定一段時間。 使用者可以在鎖定期間過後再試一次。
網站設定名稱 | 描述 |
---|---|
Authentication/UserManager/UserLockoutEnabledByDefault | 表示建立使用者時,使用者鎖定是否啟用。 預設: true |
Authentication/UserManager/DefaultAccountLockoutTimeSpan | 達到 Authentication/UserManager/MaxFailedAccessAttemptsBeforeLockout 後鎖定使用者的預設時間長度。 預設: 24:00:00 (1 天) |
Authentication/UserManager/MaxFailedAccessAttemptsBeforeLockout | 允許的存取嘗試次數上限,達到此次數後,使用者就會被鎖定 (如果已啟用鎖定)。 預設: 5 |
Cookie 驗證網站設定
接著說明修改 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 | SlidingExpiration 設定為 true,可指示中介軟體每當處理到已超過一半期限範圍的要求時,即重新發行有新的到期時間的新 Cookie。 預設:true |
Authentication/ApplicationCookie/LoginPath | LoginPath 屬性會告知介軟體,應將傳出的 401 未授權狀態碼變更為 302 重新導向至指定之登入路徑。 預設: /signin |
Authentication/ApplicationCookie/LogoutPath | 如果中介軟體已提供 sign-out path,就會根據 ReturnUrlParameter 將要求重新導向至該路徑。 |
Authentication/ApplicationCookie/ReturnUrlParameter | 當 401未授權狀態碼變更為 302 重新導向至指定的登入路徑時,ReturnUrlParameter 決定中介軟體所附加的查詢字串參數的名稱。 |
Authentication/ApplicationCookie/SecurityStampValidator/ValidateInterval | 安全性戳記驗證之間的時段。 預設: 30 分鐘 |
Authentication/TwoFactorCookie/AuthenticationType | 雙因素驗證 Cookie 類型。 預設: TwoFactorCookie |
Authentication/TwoFactorCookie/ExpireTimeSpan | 控制雙因素 Cookie 從其建立時間起算的持續有效時間。 值不應超過 6 分鐘。 預設: 5 分鐘 |
後續步驟
請參閱
Power Apps 入口網站中的驗證概觀
設定入口網站的 OAuth 2.0 提供者
設定入口網站的 OpenID Connect 提供者
設定入口網站的 SAML 2.0 提供者
設定入口網站的 WS-同盟提供者設定。
Power Apps 入口網站驗證設定