原文:http://www.sitepoint.com/using-json-web-tokens-node-js/翻譯:(LcjNiL)諸如Ember,Angular,Backbone之類的前端框架類庫正隨著更加精細的Web應用而日益壯大。正因如此,服務器端的組建也正正在從傳統的任務中解脫,轉而變的更像API。API使得傳統的前端和後端的概念解耦。開發者可以脫離前端,獨立的開發後端,在測試上獲得更大的便利。這種途徑也使得一個移動應用和網頁應用可以使用相同的後端。當使用一個API時,其中一個挑戰就是認證(authentication)。在傳統的web應用中,服務端成功的返回一個響應(response)依賴於兩件事。一是,他通過一種存儲機制保存了會話信息(Session)。每一個會話都有它獨特的信息(id),常常是一個長的,隨機化的字符串,它被用來讓未來的請求(Request)檢索信息。其次,包含在響應頭(Header)裡面的信息使客戶端保存了一個Cookie。服務器自動的在每個子請求裡面加上了會話ID,這使得服務器可以通過檢索Session中的信息來辨別用戶。這就是傳統的web應用逃避HTTP面向無連接的方法(This is how traditional web applications get around the fact that HTTP is stateless)。API應該被設計成無狀態的(Stateless)。這意味著沒有登陸,註銷的方法,也沒有sessions,API的設計者同樣也不能依賴Cookie,因為不能保證這些request是由瀏覽器所發出的。自然,我們需要一個新的機制。這篇文章關注於JSON Web Tokens,簡寫為JWTs,一個可能的解決這個問題的機制。這篇文章利用Node的Express框架作為後端,以及Backbone作為前端。##背景我們來簡短的看一下幾個通常的保護(secure)API的方法。一個是使用在HTTP規範中所製定的Basic Auth, 它需要在在響應中設定一個驗證身份的Header。客戶端必須在每個子響應是附加它們的憑證(credenbtial),包括它的密碼。如果這些憑證通過了,那麼用戶的信息就會被傳遞到服務端應用。第二個方面有點類似,但是使用應用自己的驗證機制。通常包括將發送的憑證與存儲的憑證進行檢查。和Basic Auth相比,這種需要在每次請求(call)中發送憑證。第三種是OAuth(或者OAuth2)。為第三方的認證所設計,但是更難配置。至少在服務器端更難。##使用Token的方法不是在每一次請求時提供用戶名和密碼的憑證。我們可以讓用戶通過token交換憑證(we can allow the client to exchange valid credentials for a
2015年3月26日 星期四
Using JSON Web Tokens with Node.js
webber0928
晚上7:37:00
原文:http://www.sitepoint.com/using-json-web-tokens-node-js/ 翻譯:(LcjNiL) 諸如Ember,Angular,Backbone之類的前端框架類庫正隨著更加精細的Web應用而日益壯大。正因如此,服務器端的組建也正正在從傳統的任務中解脫,轉而變的更像API。API使得傳統的前端和後端的概念解耦。開發者可以脫離前端,獨立的開發後端,在測試上獲得更大的便利。這種途徑也使得一個移動應用和網頁應用可以使用相同的後端。
Webpack
webber0928
晚上7:35:00
大概算是一份教程吧,只不過效果肯定不如視頻演示之類的好.. Webpack最近在英文社區上經常看到,留了心,但進一步了解是通過下邊的視頻: 視頻: How Instagram.com Works , Peter Hunt Peter Hunt也是React的傳教士,我由於對React的關注因此細看了視頻 再後來是出現React Hot Loader這樣的開發神器,我認為Webpack應該很棒http://gaearon.github.io/ react-hot-loader/ 為了解決簡聊當中一些問題,我消耗了很多時間了解Webpack,整理在這裡Webpack 是什麼https://github.com/webpackWebpack是德國開發者Tobias Koppers開發的模塊加載器Instagram工程師認為這個方案很棒,似乎還把作者招過去了在Webpack當中,所有的資源都被當作是模塊, js, css,圖片等等.. 因此, Webpack當中js可以引用css, css中可以嵌入圖片dataUrl對應各種不同文件類型的資源, Webpack有對應的模塊loader 比如CoffeeScript用的是coffee-loader ,其他還有很多: http://webpack.github.io/docs/list-of-loaders.html 大致的寫法也就這樣子: module : { loaders: [ { test: /\.coffee$/ , loader: 'coffee-loader'
訂閱:
文章 (Atom)