2017-03-20 67 views
0

我有兩個應用程序在相同的基本域下運行。集中認證到不同子域下的不同應用。

docs.application.com轉到文檔,它是用PHP(Grav CMS)編寫的。

www.appliation.com轉到我的應用程序,它是用Node和React編寫的。

Grav CMS有一個Google使用的oauth插件,我的應用程序也使用Google oauth登錄。

我想集中登錄的方式,我可以登錄到任何應用程序並自動登錄到另一個。

我一直在閱讀有關中央身份驗證服務和跨域登錄,但到目前爲止我無法管理解決方案。

有什麼想法?

回答

1

您已使用OAuth2標記了此問題,因此我正在說明這一點。

從技術上說,OAuth2不是認證工具,而是授權工具。但是,您可以調整它,以便您可以使用它進行身份驗證。

理想情況下,您應該爲身份驗證創建另一個應用程序,如sso.example.com。所有這兩個應用程序將用於身份驗證。 enter image description here

在您使用的任何SSO工具中,您的兩個應用程序將成爲您的'服務提供者',sso應用程序將成爲您的'身份提供者'。對於這個問題,你也可以使用Shibboleth

如果您使用OAuth2而不僅僅是您將不得不在客戶端管理的東西是令牌。 雖然shibboleth爲你做。 Shibboleth也充當授權服務器。您可以配置它,除非用戶在SSO應用程序中有活動會話,否則所有兩個應用程序都將無法訪問。

相關問題