单一登录的多域,

Posted

技术标签:

【中文标题】单一登录的多域,【英文标题】:Multi Domain with single login, 【发布时间】:2020-12-19 05:56:42 【问题描述】:

我一直在计划创建一个跨子域的 laravel+vuejs 应用程序(演示文稿创建者、表单创建者、投票创建者等,每个都在一个子域中),并且将拥有同一个 Web 应用程序的 2 个版本(具有不同语言的印度版本和内容以及具有不同语言和内容的国际)在 2 个不同的域中说 domain.indomain.com 但我希望来自任何应用程序或域的用户使用单个登录用户从 passport.domain.com 登录说,我们有从 wap.domain.in 和 wap.domain.com 提供的网站的 WAP 版本以及两者的移动应用程序。

    现在,普通用户根据用户 ID 和密码,来自 .com 域的用户将 只能从 .com 域和 .in 访问应用程序和内容 将只能从 .in 访问 用户将能够使用 facebook、linkedin、google 等登录, 我们将只有一个适用于 iosandroid 的应用程序,并且根据用户名和密码,这些应用程序将能够访问相应的域。 wap 网站将使用相同的 passport.domain.com 登录 移动应用将能够通过 appID 和密钥访问域中的数据。 其他人将能够使用 api 密钥和密钥将演示文稿和表单嵌入到他们的网站中。 某些用户将能够将在一个域中创建的数据传输给另一个域中的另一个用户 管理员用户将能够从两个域传输数据。 其他平台可能能够使用此平台的用户 ID 登录。

这都是 SSO(单点登录)的一部分吗? 这在 laravel 中可以实现吗? 是否建议在不同的框架中编写登录服务器?

不同的技术,如 SAML Outh2.0 和 Open ID,以及授权、身份验证和 ID 提供者等术语,让初创公司感到困惑和困惑。

有人能告诉我上述过程涉及哪些技术吗?以及在开始开发之前应该注意什么。

【问题讨论】:

你可以尝试阅读这篇文章:***.com/questions/39605467/… @AlzafanChristian 该帖子给出了其中一个问题的一小部分逻辑。有很多零碎的东西,但整个画面很难掌握。 【参考方案1】:

这是很多问题:)

有可能吗?

基于 OAuth 2.0 的技术将为您提供最佳选择,因为:

拥有最多up to date app security options 它被设计成对 Web、移动和 API 友好 访问令牌旨在跨域

OAUTH 会做所有事情吗?

不,它不会 - 您需要自己构建上述大部分行为,并实施软件架构,就像任何其他安全技术一样。

授权服务器将外部化登录名/密码并颁发令牌。然后,您的应用将需要实施“流程”,包括:

基于 Web 令牌的安全性和会话管理 基于移动令牌的安全性和会话管理 API 令牌验证和声明处理 集成第三方安全库

指导

正如您所指出的,当您不熟悉 OAuth 技术时,最佳选择和设计模式并不清楚。如果有帮助,我的博客中有一些您可能会觉得有用的细节,但这不是一个简单的旅程:

分步教程和代码示例 在棘手的领域设计帖子

Blog Index

【讨论】:

是的,在复杂的环境中登录不是一个简单的问题。虽然它只是整个网站的一小部分。这是关键部分。虽然它管理用户,但用户是关键的客户和业务。安全保护他们并为他们提供最佳体验由登录处理。我看了一下博客,看起来它会让我在接下来的几天里忙得不可开交,希望它也能回答我所有的问题。我还将记录并分享其他人从这里了解更多信息的途径。【参考方案2】:

这不是解决方案,而是我偶然发现的一篇文章,其中解释了用户身份验证和 SSO 中涉及的术语。

Laravel authentication an overview

希望这对现在或将来像我一样正在寻找答案的其他人有所帮助。

【讨论】:

以上是关于单一登录的多域,的主要内容,如果未能解决你的问题,请参考以下文章

r 计算单一和多域蛋白质

一个 Django 项目的多域托管

nginx的多域httphttps同时访问配置及http重定向https

TYPO3 10.4 中一个根页面的多域设置?

Keycloak 多域登录

Laravel 多域会话