2016-09-28 60 views
1

我們計劃從當前基於自定義表單的身份驗證轉移到Azure Active Directory。在過程中想知道下面是否可能(下面的定製表單認證實現)。如何使用Azure Active Directory實現此目標。Azure Active Directory Saty登錄或記住我的選項

當前公司網站具有此功能,會員可以選擇選擇保持登錄狀態。選擇保持登錄狀態的用戶將獲得持續90天的持續cookie。會員在該設備上再次訪問會員區時不需要輸入他們的用戶名和密碼。

此外,像我的帳戶/維護配置文件等其他網站不提供逗留登錄功能,雖然他們都使用相同的憑證存儲。但爲了方便會員,如果他們已登錄到網站並轉到我的帳戶/維護配置文件應用程序,則其用戶名是預填充的。會員仍需要輸入密碼。

現在,在新範例中,網站和我的帳戶/維護配置文件應用程序將使用AAD進行身份驗證,我們將如何實現上述功能,即 •有選擇地爲某些應用程序保留登錄功能。此功能是可選功能,對於選擇點擊此功能的會員,無需在該設備上重新登錄90天。 •如果成員已登錄到一個資產並且需要登錄另一個資產,請預先填入用戶標識。

回答

1

Azure AD在用戶登錄時創建的會話不能真正由用戶控制。它具有關於會話長度,持久性等相當靜態的規則。稍後,Azure AD租戶管理員將能夠通過配置來控制這些方面。但這不是真的取決於用戶。

就是這樣說的,你絕對可以實現你在應用中描述的體驗。如果用戶希望「保持登錄狀態」,則必須用自己的UX(而不是Azure AD登錄用戶)進行請求。我會通過做:

  • 有旁邊的登錄按鈕
  • 編碼在state參數的ID連接的授權請求的複選框的值複選框(OWIN - 使用AuthenticationProperties
  • Azure的當AD發回它的id_token響應,解碼來自state的複選框值(OWIN - OWIN應該爲您負責)
  • 使用該值設置由您的應用程序發出的會話cookie的長度/持久性(OWIN - 檢索中的複選框值3210,如下所示:Is it possible to set an ASP.NET Owin security cookie's ExpireTimeSpan on a per-user basis?

對於其他模式,您可以通過將login_hint查詢參數的ID連接授權請求預填寫頁面Azure的AD標誌。我讓你知道如何跟蹤用戶的用戶名。

+0

感謝提示/想法!稍後將嘗試此操作並進行更新。 –