2017-03-27 54 views
0

我對IdentityServer和Open ID Connect非常陌生,我知道的大部分內容都是通過IdentityServer3文檔的Overview部分中的三個步驟完成的。所有這些示例演示瞭如何使用Authorize屬性來保護控制器操作,從而導致重定向到IdentityServer託管的登錄頁面。在客戶端應用程序中提供登錄鏈接的典型或推薦方式是什麼?我的客戶端應用程序是否有自己的登錄頁面,然後調用IdentityServer來驗證登錄並提供令牌?如果是這樣,是否有示例顯示了這一點?如果沒有,有沒有辦法讓我的應用程序中的登錄鏈接打開IdentityServer登錄頁面?是否像使用Authorize屬性保護登錄操作一樣簡單?可以/應該客戶端應用程序提供自己的登錄頁面嗎?

回答

0

我不認爲客戶端有它自己的登錄頁面是正確的。想象一下,您使用Facebook作爲身份提供者,並且您希望Facebook用戶在您的登錄頁面上輸入他們的Facebook信用卡嗎?

一種方法是您使用服務器端挑戰重定向描述的內容,或者將您的應用程序配置爲Javascript隱式客戶端 - see example,它會構建authroize挑戰URL。無論哪種方式,用戶都會從身份服務器看到登錄頁

+0

謝謝。我想我已經看到一些示例站點,其中本地託管登錄頁面提供本地登錄和單獨的外部登錄按鈕。我不爭論這種方法。本地登錄頁面就是我習慣的。我正在通過IdentityServer3 JavaScript遍歷,這也是一個JavaScript隱式客戶端,所以我現在看到如何實現我的本地登錄按鈕,而無需在我的應用程序中託管登錄UI。 – user3498540

相關問題