簡體   English   中英

我是否需要Oauth2用於我的Web Apps API

[英]Do I need Oauth2 For my Web Apps API

我試圖圍繞構建一個基於express.js / node.js的REST API包圍我的大腦。 我有一些問題...

  1. 如果我現在只關心一個Web應用程序(不一定是手機應用程序),我是否需要基於令牌的/ oauth 1或2安全性來支持我的api

  2. 有沒有資源可以學習如何從頭開始構建這個? 我從字面上讀了谷歌搜索“使用oauth2認證express.js的休息api”的前3頁,我仍然沒有抓住它。

您希望在節點中執行REST API。 它非常適合構建基於API的請求。

對於你的問題:

1)如果您只使用簡單的GET和POST請求構建基本API,那么您可能想問自己,您正在顯示或操作的數據是否需要“安全性”。 如果不是那么很可能,您不需要實施OAuth。

但是,如果您的數據是敏感的,例如私人用戶數據,那么您需要在API上放置某種安全層。 此外,使用OAuth或其他基於令牌的安全性可以幫助您在整個用戶群中構建更好的權限檢查。

2)您首先需要掌握OAuth的概念。 一旦您了解了OAuth的工作原理,那么它就很容易以您選擇的語言實現。 以下是關於如何更好地理解OAuth的一些好的讀物

http://www.slideshare.net/MindfireSolutions/oauth-and-rest?qid=09a7d224-78bb-4b47-8957-3f0a0ce809a4&v=qf1&b=&from_search=3

有關OAuth的更多詳細信息,請訪問: http//tools.ietf.org/html/rfc6749

同樣,一旦您了解了OAuth的工作流程,您就可以輕松實現它。 :P

  1. 如果您將REST服務器用於Web應用程序或任何其他客戶端,則不依賴於此。 如果互聯網上提供的服務,您應該將任何客戶端應用程序視為“敵人”。 我的意思是你不應該依賴任何“可信”的客戶端應用程序,如果客戶端獲得安全資源,你應該總是執行身份驗證。 資源是否安全,取決於您的應用。 在這兩種情況下,我更喜歡使用oauth2。 如果資源不安全,我使用Client Credentials( http://tools.ietf.org/html/rfc6749#section-1.3.4 ),如果它是安全的,我使用Access Token( http://tools.ietf.org/ html / rfc6749#section-1.4 )。 它允許您保持相同的技術,如果需要,可以在將來輕松更改。 根據我的個人經驗,我創建了模塊oauthifizer( https://github.com/vedi/oauthifizer )。 它實際上是passport.js的一個包裝器,這使得它在這些特殊情況下更加友好。

  2. 您可以查看這篇文章: http//aleksandrov.ws/2013/09/12/restful-api-with-nodejs-plus-mongodb/ 同樣,您可以考慮嘗試restifizer( https://github.com/vedi/restifizer ) - 另一個模塊,它允許您更快地創建RESTful服務。 還有一個簡短的例子: https//github.com/vedi/restifizer-example

希望它會有所幫助。

暫無
暫無

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

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