设置第三方node.js身份验证服务器

时间:2014-12-30 20:00:10

标签: angularjs node.js authentication mean-stack

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

我希望实施与Google帐户/ ServiceLogin类似的功能:我可以登录一次,几乎所有Google产品的会话都会保留。

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

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

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

1 个答案:

答案 0 :(得分: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