最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

在多租户应用程序中使用Passport.js的OAuth

运维笔记admin14浏览0评论

在多租户应用程序中使用Passport.js的OAuth

在多租户应用程序中使用Passport.js的OAuth

我正在开发一个允许多个租户使用子域名的网站。

帐户将能够添加自己的子域,只要它们尚不存在;例如:





我还使用passport.js添加了使用许多oauth提供商(谷歌,微软,天蓝广告等)登录的能力。

所有这些服务都将回调到主域(mywebsite/login/google/callback),我需要识别登录请求的子域以重定向用户。

由于单个用户可以拥有多个子域,因此我无法轻松地将其存储在其用户记录中。

我现在遇到了一个问题,我无法找到一种方法来保持租户信息超过护照验证阶段。

我尝试使用会话变量,但会话在回调阶段重置,并丢失我存储在那里的任何信息。

我确实考虑过将子域添加为针对每个服务的允许回调URL,然后将回调设置为子域,但这很快变得无法管理。

有没有办法让passport.js保持现有会话变量不变或使用其他方法来传输租户信息?

回答如下:

这不是一个完整的答案,但有一种设计模式可以在移动到登录页面时将&redirect=/url-after-login保留为URL查询参数。成功登录后,登录处理程序然后重定向回此URL。可以基于用户或始发页面来选择URL。

这可以在你的情况下工作吗?显然,这需要一些关于如何在passport.js中实现它的研究。对不起,我无法提供工作代码。

发布评论

评论列表(0)

  1. 暂无评论