在工作中,我们正在开发多个高度模块化的系统,它们之间不应存在硬依赖。现在我们需要这些系统共享一个通用的身份验证和安全机制——或者换句话说——SSO(单点登录)。很明显,我们将不得不制作另一个处理授权、身份验证和安全管理的模块——SSO 模块。关键是让它与我们的其他系统正确集成。
我能想到的两种方法是:
1) 从 SSO 公开一个 RESTful 服务,允许其他两个系统执行身份验证和授权操作。
2) 公开一个用于身份验证和授权的通用 API,它将包装我们的 SSO 功能并让两个系统引用该 API 并直接使用它。
目前我们没有考虑在这个领域使用任何第三方解决方案,并且我们已经在 will be SSO 模块上做了一些工作,所以我们更愿意坚持一个最能利用现有工作的简单解决方案。
我们应该选择哪种方法,为什么?每一个相对于另一个的显着优势是什么?有更好的选择吗?