[英]Web api service authentication for website as well as devices
我正在創建一個Web API數據服務。 我想在asp.net網站以及設備(iOS,Windows Phone,Android)的應用程序中使用該服務。
我應該使用哪種身份驗證機制? 我四處閱讀,發現帶有加密的Bearer令牌是一種好方法。
我不明白網站如何將身份傳播到Web API服務? (因為通常基於MVC的網站內置了on認證!)
我知道我可以通過某種方式將身份驗證委派給基於OWIN的模塊...我不確定所有這些技術都適用於整個情況。
誰能給我解釋一下完整的圖片,怎么做?
身份傳播很簡單,設備應用程序使用登錄頁面自動化或提供其自己的登錄界面來獲取令牌,然后在連續的請求中使用令牌。
我的建議是圍繞OAuth2流構建您的身份驗證。 您會發現有趣的四分之三的流程。
授權代碼流用於被動客戶端(其他Web應用程序)。 身份驗證服務器返回一次性代碼,應用程序(資源服務器)使用該一次性代碼將其交換為承載令牌。
令牌流適用於可以訪問身份驗證服務器上的登錄ui的活動客戶端,例如javascript客戶端。
資源所有者流允許移動應用程序為令牌交換用戶名/密碼,這是托管自定義登錄ui的機會。
http://aaronparecki.com/articles/2012/07/29/1/oauth2-simplified
實際上,所有這些可能的流程在集成方面為客戶提供了很多靈活性。 由於該協議具有開放性,因此內置在任何技術堆棧中的客戶端都可以使用您的身份驗證服務。
如果您遵循此路線並使用DotnetOpenAuth,則可以,令牌將在用戶會話上攜帶加密信息,因此不需要永久令牌存儲庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.