我試圖建立golang
多租戶架構,會有不同的服務,如Service-A
和Service-B
每個服務將在不同的服務器上運行,我想在認證單點登錄的用戶具有single sign-in
解決方案並在所有提供的服務中獲得認證。在golang
就像什麼Amazon AWS or Google
確實像它一樣Amazon Cloud Front
,Amazon EC2
,Amazon S3
許多不同的服務,所有的服務都是通過一個單一的登錄認證和log out from all connected services
從一個服務結果註銷。
我想在golang
實現這一點,到目前爲止,我發現Open-id Connect
coreos/dex 但它缺乏文檔,解釋其API和架構。
什麼是設計這種認證系統的最佳體系結構?
我想用JWT token
我可以實現它。 Is this architecture will be secure or there any better solution for this
?
我的做法
-----------------
| | shared
| | env file
|SERVICES A |---------------|
AUTH HEADER | | |
JWT TOKEN | | |
|---------------> ----------------- |
--------- ------------------ shared |
| | | SERVICE B | env file |
|Login | -----------| |----------- |
|Browser| | | | |
--------- ------------------ | |
| | | |
Login| |"JWT_TOKEN RESPONSE" | |
| | | |
-------------- enviroment file ------------
| |----------------------------------| |
| Main Server| | |
| | |JWT_SECRET|
-------------- |="secret" |
------------
這個問題[太寬](http://stackoverflow.com/help/on-topic)。有太多可能的答案,或者這個格式的答案太長。請添加詳細信息以縮小答案集或隔離幾個段落中可以回答的問題。 – jurgemaister
@jurgemaister我正在編輯和添加細節,這將使您輕鬆回答。 –
@jurgemaister我已編輯,請現在檢查 –