鑑於以下各方:ASP.Net MVC 4和基於聲明的安全Web客戶端之間,ASP.Net的WebAPI
基於瀏覽器的客戶端
ASP.Net MVC 4 Web應用程序
ASP.Net的Web API服務
安全令牌服務(STS),即Thinktecture IdentityServer
(注:Web應用程序和服務的WebAPI住在不同的盒子)
我想獲得類似這樣的工作流程:
用戶導航到WebApp時,應用程序在請求中看不到有效的令牌,並將用戶重定向到STS進行驗證。用戶登錄到STS,並在成功驗證後重定向回WebApp。 WebApp將看到有效的令牌並授予用戶訪問權限。用戶嘗試在WebApp上執行操作,這需要對WebAPI進行服務調用。 WebApp通過服務請求傳遞用戶令牌。 WebAPI服務會查看令牌,禁止訪問並返回錯誤,或代表用戶授權請求並返回結果。
此外,我希望客戶端能夠通過AJAX調用直接向WebAPI服務發起服務調用。
到目前爲止,我可以將流程與Web應用程序重定向到STS並返回,但是如何將令牌從Web應用程序傳遞到Web API服務?
另外,如何讓JavaScript客戶端在AJAX調用中傳遞令牌?
或使用cookie。 – flup 2013-02-22 20:16:02
好吧 - 當然沒有cookie。各種組件位於不同的盒子上(可能有不同的域名 - 如果不是今天 - 也許明天)。 – leastprivilege 2013-02-23 08:35:21