V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
irainy
V2EX  ›  程序员

JWT 在前后端分离中的应用与实践

  •  
  •   irainy · 2015-06-10 21:30:51 +08:00 · 2508 次点击
    这是一个创建于 3450 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本文主要介绍JWT(JSON Web Token)授权机制在前后端分离中的应用与实践,包括以下三部分:

    1. JWT原理介绍
    2. JWT的安全性
    3. React.js+Flux架构下的实践(React-jwt example

    0 关于前后端分离

    前后端分离是一个很有趣的议题,它不仅仅是指前后端工程师之间的相互独立的合作分工方式,更是前后端之间开发模式与交互模式的模块化、解耦化。计算机世界的经验告诉我们,对于复杂的事物,模块化总是好的,无论是后端API开发中越来越成为规范的RESTful API风格,还是Web前端越来越多的模板、框架(参见MVC,MVP 和 MVVM 的图示),包括移动应用中前后端天然分离的特质,都证实了前后端分离的重要性与必要性(更生动的细节与实例说明可以参看赫门分享的主题淘宝前后端分离实践)。

    实现前后端分离,对于后端开发人员来说是一件很幸福的事情,因为不需要再考虑怎样在HTML中套入数据,只关心数据逻辑的处理;而前端则需要承担接收数据之后界面呈现、用户交互、数据传递等所有任务。虽然这看起来加重了前端的工作量,但实际上有越来越多丰富多样的前端框架可供选择,这让前端开发变得越来越结构化、系统化,前端工程师也不再只是“套版的”。

    在所有前端框架中,Facebook推出的React无疑是当下最热门(之一),然而React只负责界面渲染层面,相当于MVC中的V(View),因此只靠React无法完成一个完整的单页应用(Single Page App)。Facebook另外推出与之配套的Flux架构,主要为了避免Angular.js之类MVC的架构模式,规避数据双向绑定而采用单向绑定的数据传递方式。实际上React无论是学习还是使用都是非常简单的,而Flux则需要花更多时间去理解消化,本文第3部分我采用Flux架构的一种实现Reflux.js,做了一个基于JWT授权机制的登入、登出的例子,顺便介绍Flux架构的细节。

    全文

    2 条回复    2015-06-14 15:39:58 +08:00
    nightspirit
        1
    nightspirit  
       2015-06-10 23:33:56 +08:00
    就是一种对称式加密啊,为啥要说这么多
    mingyun
        2
    mingyun  
       2015-06-14 15:39:58 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1276 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:28 · PVG 07:28 · LAX 15:28 · JFK 18:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.