2016-08-02 103 views
2

我有一個由多個產品組成的產品生態系統,即:角度應用程序,網站和混合應用程序,均由節點後端提供支持。產品生態系統中的身份驗證和授權

因此,現在我想爲整個生態系統添加一個身份驗證和授權,並且它需要模塊化和可擴展。

另外,我正在遵循3層架構,即:[應用程序] - > [API] - > [DB],只有API層可以訪問數據庫。

現在我還希望身份驗證和授權爲另一個應用程序在生態系統中可以插入其他應用程序和使用沒有太多的設置。

此外,由於它是(認證和授權模塊)另一個應用程序,我不希望它直接訪問數據庫,我希望它做API調用,再加上它不應該使用第三方認證方案,如auth0 。

重要的是,身份驗證和授權模塊以外的應用程序都不應該在其中具有任何身份驗證相關的邏輯。

基本上這應該是模塊比插入時允許身份驗證和授權和無縫集成。

該設置是否可行?如果是這樣,我該怎麼辦呢?如果不是認證和授權如何在其他這樣的生產級生態系統中實現?

在此先感謝!

回答

0

認證絕對可以被認爲是一個模塊;只是一個具有數據庫後端的小部件,它接收憑證並吐出錯誤消息或授權令牌。然而,授權有點複雜,一旦你收到這些授權令牌,你需要決定他們的意思。

不知道你的應用程序的任何事情,我會說你需要爲每個應用程序創建一個特權映射到用戶帳戶。如果你只想限制用戶訪問彼此的內容,這是微不足道的,但如果你想給一些用戶更多(或更少)的權力比其他用戶更難。如果是這樣,比我建議你使用某種形式的role-based access control。您可以在如何處理授權here上找到更多的討論。