單點登錄是我比較喜歡的一個技術(shù)解決方案,一方面他能夠提高產(chǎn)品使用的便利性,另一方面他分離了各個應(yīng)用都需要的登錄服務(wù),對性能以及工作量都有好處。自從上次研究過JWT如何應(yīng)用于會話管理,加之以前的項目中也一直在使用CAS這個比較流行的單點登錄框架,所以就一直在琢磨如何能夠把JWT跟單點登錄結(jié)合起來一起使用,盡量能把兩種技術(shù)的優(yōu)勢都集成到項目中來。本文介紹我從CAS思考得出的SSO的實現(xiàn)方案。

前言

其實CAS這個方案很好,非常強(qiáng)大,它最新的版本已經(jīng)集成JWT了,所以要是不想自己開發(fā)單點登錄的服務(wù)的話,完全可以考慮使用CAS。但是我認(rèn)為,我們在做項目的時候,也許一開始并不需要這么強(qiáng)大的產(chǎn)品,CAS提供的登錄形式有很多,而我們只需要應(yīng)用其中的一種;而且它這個框架正是因為強(qiáng)大,所以也會比較復(fù)雜,簡單上手容易,但是遇到一些特殊的需求,比如我們想在CAS里面加入微信登錄,那就需要對它的原理以及API有比較深入的了解才行。綜合考慮,還是弄清楚CAS的原理,自己來實現(xiàn)一個基本的SSO服務(wù)比較放心。

本文的內(nèi)容需要對JWT和SSO有一個基本的了解,你可以從這兩篇文章來了解JWT的用途:3種web會話管理的方式JWT實現(xiàn)token-based會話管理,還可以從下面的資料來了解SSO的內(nèi)容:SSO_百度百科。

網(wǎng)友評論