【问题标题】:Setup a third party node.js authentication server设置第三方 node.js 认证服务器
【发布时间】:2015-02-26 23:44:37
【问题描述】:

我的服务器上运行着两个独立的应用程序(app1 和 app2 基于 MEAN 堆栈)。我想添加一个新的应用程序来管理这两个应用程序的身份验证。我的意思是,如果我尝试从 app1 登录,它会将我重定向到身份验证应用程序中的登录表单,登录后我会回到 app1 中的前一个 url。之后,如果我去app2,我仍然处于登录状态。

我希望实现类似于 google 帐户/ServiceLogin 的功能:我可以登录一次,并且几乎所有 google 产品的会话仍然存在。

重要的是我为每个应用使用子域:app1.mydomain.com 和 app2.mydomain.com。

如何使用 node 和 express 做到这一点?

目前我使用vhost 来管理每个子域。

【问题讨论】:

    标签: angularjs node.js authentication mean-stack


    【解决方案1】:

    您正在寻找单点登录解决方案。

    我只熟悉 Stormpath 提供的一种解决方案,称为“ID 站点”。它基本上是一个托管的身份验证站点,为您处理身份验证,然后在您的子域之间传递登录用户。

    它的工作方式是这样的:

    • 用户访问 www.yousite.com。
    • 用户点击“登录”。
    • 用户被重定向到 login.yoursite.com。
    • 用户然后登录。
    • 然后用户会被重定向到 dashboard.yoursite.com 并通过完全身份验证 (SSO)。

    您可以使用express-stormpath, 轻松实现这一点,以下是相关文档:https://docs.stormpath.com/nodejs/express/product.html#use-hosted-login

    【讨论】:

    • 感谢您的回复,我知道 Stormpath 是一项付费服务​​。你知道它有什么免费的替代品吗?
    • 我不知道有任何自动取款机。但是 Stormpath 有一个适用于各种项目的免费层 - 付费层仅适用于较大的应用程序。
    • 免费套餐只允许您“连接”一个应用程序,而我需要连接两个应用程序(甚至更多)。我找到了一个名为 Drywall 的开源替代品,我不知道它是否与 Stormpath 做同样的工作。
    • Drywall 不做单点登录——它本质上提供注册页面/登录页面(但不提供单点登录功能)。目前我不知道任何其他解决方案,抱歉:(
    猜你喜欢
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 2022-06-16
    • 2023-03-27
    相关资源
    最近更新 更多