微服務實踐分享(7)認證受權中心

認證機制:安全

OAuth (Facebook, Twitter, Google...) - SAML - CAS - OpenID Connect - HTTP - OpenID - Google App Engine
LDAP - SQL - JWT - MongoDB - CouchDB - IP address - Kerberos (SPNEGO) - REST API網絡

1.四種方案分佈式

  單點登陸(SSO)微服務

這種方案意味着每一個面向用戶的服務都必須與認證服務交互,這會產生大量很是瑣碎的網絡流量和重複的工做,當動輒數十個微應用時,這種方案的弊端會更加明顯。編碼

  分佈式 Session 方案spa

分佈式會話方案原理主要是將關於用戶認證的信息存儲在共享存儲中,且一般由用戶會話做爲 key 來實現的簡單分佈式哈希映射。當用戶訪問微服務時,用戶數據能夠從共享存儲中獲取。在某些場景下,這種方案很不錯,用戶登陸狀態是不透明的。同時也是一個高可用且可擴展的解決方案。這種方案的缺點在於共享存儲須要必定保護機制,所以須要經過安全連接來訪問,這時解決方案的實現就一般具備至關高的複雜性了。blog

  客戶端 Token 方案it

令牌在客戶端生成,由身份驗證服務進行簽名,而且必須包含足夠的信息,以即可以在全部微服務中創建用戶身份。令牌會附加到每一個請求上,爲微服務提供用戶身份驗證,這種解決方案的安全性相對較好,但身份驗證註銷是一個大問題,緩解這種狀況的方法可使用短時間令牌和頻繁檢查認證服務等。對於客戶端令牌的編碼方案,Borsos 更喜歡使用 JSON Web Tokens(JWT),它足夠簡單且庫支持程度也比較好。io

  客戶端 Token 與 API 網關結合登錄

 

2.開源

 

3.業界

相關文章
相關標籤/搜索