簡體   English   中英

Rest API身份驗證機制,該怎么辦

[英]Rest API authentication mechanism, what to do

我最近閱讀了很多有關WEB API身份驗證機制的信息,對於如何實現我的Web API身份驗證機制有些困惑,我在考慮使用基於令牌的身份驗證,但不確定是否是基於令牌的身份驗證。正確的選擇。

基本上,我的Web API將管理所有需要的操作,它將存儲我網站的用戶以及API用戶(以防他們必須分開)。

我想支持以下

用戶可以使用其G +或Facebook帳戶或通過我的服務已創建的用戶名在我的網站和應用上注冊,他們也將使用其社交帳戶登錄。 如果用戶未登錄,則他們將無法發布商品,但可以看到商品,請考慮使用Craiglist之類的方法。 假設用戶是開發人員,他們想通過自己創建的某些軟件來發布商品,而不是一次瀏覽網站並一次發布一個商品,我該如何允許? 現在,我的問題是:1)當用戶在我的網站上注冊時,是否需要為其后續訪問令牌創建一個(公共密鑰/私有密鑰),所以我可以使用該網站上的API作為用戶檢查是否可以訪問某些端點?

2)我是否必須為我的網站分配一個(公共密鑰/私有密鑰),以便在用戶未登錄時可以使用該API?

3)與上述移動應用程序相同

4)如何允許用戶使用G +或Facebook(登錄/登錄)?如果他們使用任何社交網絡登錄,我將如何保護我的api?

請,任何答案將不勝感激。

謝謝

請按照本教程的大部分要求進行操作http://bitoftech.net/2015/01/21/asp-net-identity-2-with-asp-net-web-api-2-accounts-management/通過Facebook登錄/ G + MVC已經使助手注釋掉了。 您將通過第三方應用程序設置密鑰來獲取憑據,然后存儲身份。

對於ASP.NET Web API 2,建議您使用默認的Owin OAuth2身份驗證。 這是一種標准的身份驗證形式,有據可查。 如果您對OAuth2不夠了解,請閱讀RFC

隨着Web API 2的出現,ASP.NET轉移到一個新的安全模型,稱為ASP.NET Identity 這是一個非常好的視頻 ,介紹了基本知識。 關鍵是從頭開始,忽略了傳統的基本身份驗證,窗體身份驗證或Windows身份驗證。

ASP.NET 網站上有很多學習資料。 對於本地個人帳戶(問題#1,#2和#3),請通讀本教程 -在這里,基本上您自己的服務器將充當OAuth授權服務器,而Owin OAuth2實現將負責生成訪問令牌並進行身份驗證他們。 由於您將使用OAuth 2標准,因此在移動設備上也基本相同。

對於外部帳戶(問題4),請通讀本教程 有主要提供商的第三方身份驗證官方庫:

  • Microsoft.Owin.Security.Facebook
  • Microsoft.Owin.Security.Google
  • Microsoft.Owin.Security.Twitter
  • Microsoft.Owin.Security.MicrosoftAccount

進一步了解和了解新的OWIN規范(將描述如何為.NET框架以及Katana項目(Microsoft的OWIN實現)創建Web應用程序)也將有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM