[英]node.js REST api authentication and oauth2
我有幾個問題:
1)對於外部API使用和作為主干(或普通js)前端的服務器端,使用REST API是一個好習慣嗎? 我認為編寫一個REST API服務器並將其用作后端要容易得多。
2)如果我使用oauth 2標准編寫我的webapp身份驗證,這是將我的秘密令牌存儲在cookie中的好方法嗎? 我認為這會導致CSRF漏洞。
正如我所看到的,passport.js使用cookie存儲秘密令牌,例如Facebook或Twitter ......在這種情況下,CSRF是什么?
這是一個非常有趣的問題,我很驚訝沒有人回答。
1)對於第一個問題,我的回答肯定是肯定的 ! 您不希望編寫2次API邏輯。
您可以做的是使用不同的URL。
例如。 對於公共API,您使用http://api.domain.com/objects/而關於內部API,您可以使用http://domain.com/api/objects/或您喜歡的任何內容。
然后使用相同的邏輯,但使用不同的身份驗證策略。 公共的一個具有身份驗證令牌,像許多流行的API(Twitter,Facebook等)和私人的使用passport.js的日志。
分離的好處是:
2)我不是安全大師,但我肯定會信任passport.js身份驗證系統,因為它在將節點用作后端時被廣泛使用。
你可以參考這個問題來實現快遞中的CSRF安全性: 如何使用express.js在Ajax調用中實現CSRF保護(尋找完整的例子)?
或者,如果您使用FB或Twitter連接策略,則另一種策略是使用刷新令牌。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.