跨域单选登录

2023-11-29

它不是我正在寻找的明确的跨域会话,但它是解释我想要的内容的最简单方法。

我有一个创建网站的系统。 这些网站托管在许多不同的服务器上。

用户可以创建他们的帐户,然后他们可以创建很多网站。 他们可以创造

www.mysite.com 子域名.mysite.com 并创建许多不同的网站。

有时,站点之间会完全不同,但有时,这些站点实际上链接得非常紧密,以至于它们应该被视为同一站点。

例如: (完全不同的域) mysite-news.com mysite-blog.com 或(相同域,不同子域) 新闻网 博客.mysite.com

我需要的是一种让用户在他们想要的地方创建某种联合的方法,该联合允许通过单击复选框来允许他们想要允许跨站点登录。我无法更改配置,除非它是永久性更改并且不会影响其他站点,因为数千个站点将受到影响。

您认为支持这一点的最佳方式是什么? OpenID、单点登录?

我需要一些简单的方法来让站点创建“联盟”,然后允许它们的登录跨域。如果有人想加入,那么他们就可以加入。


OpenID 提供了一些不错的功能,但不幸的是,您正在寻找的跨域行为并不是在标准 OpenID 实现中找到的。 OpenID 的主要设计原则之一是,未经用户明确同意,提供商不得披露有关用户的任何信息*,因此任何信誉良好的 OpenID 提供商都不会告诉 mysite-news.com 您已经登录 mysite-blog .com 而不征求用户批准。

[用技术术语来说,这里发生的情况是,从概念上讲,mysite-news.com 和 mysite-blog.com 处于同一安全“领域”,但 OpenID 通过 URL 模式识别领域,并且由于它们位于不同的域,因此不匹配。]

这并不能给你带来你想要的用户体验。之前的一些答案很好地概述了您在这里需要的系统类型:

  • 跨域登录 [...]
  • 多个站点上的透明用户会话 [...]

简而言之,您将在 login.mysite.com 上设置某种身份验证服务来回答来自 mysite-news.com 和 mysite-blog.com 的查询。您仍然可以通过多种方式利用 OpenID。

  1. 其中描述的重定向到登录并返回签名令牌流程正是 OpenID 所做的事情。因此,您仍然可以使用 OpenID 实现来管理签名令牌和重播保护,您的客户端站点只需跳过 OpenID 的初始“发现”部分,并始终将用户重定向到 login.mysite.com 提供商。并且 login.mysite.com 可以跳过“我信任 mysite-blog.com 吗”的步骤,因为它是一个特殊用途的提供商,可以拥有自己始终与之合作的网站白名单。 OpenID 在这里纯粹是在幕后,用户永远不会知道 OpenID 以某种方式参与其中。

  2. 反过来,login.mysite.com 可以使用 OpenID 要求用户针对其 OpenID 提供商(无论是 Google、Yahoo 还是像 myOpenID 这样的专家)进行身份验证。从那里开始,它看起来就像一个标准的 OpenID 登录,您将获得所有好处,缺点是您的登录重定向链会变得更长(并且相应地更慢)。他们就是休息时间。

祝你好运。这是一个经常出现的问题,而且我还没有找到一个可以向人们指出的非常好的参考实现,所以如果您发现一些好的东西,请回来告诉我们。

Lastly, Matasano Chargen 关于该主题的剧本的必要链接.

[*] 最近的 Google Buzz 惨败很好地提醒了人们,当您让用户惊讶地发现他们的信息与谁共享时,会发生什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跨域单选登录 的相关文章

  • symfony2 选择单选框的默认值

    我的项目是使用 Silex 和 Symfony 组件 即表单组件 编写的 我尝试创建一组从类中构建的单选按钮 并且我想预先选择其中一个单选按钮 我创建这样的表格 form app form factory gt createBuilder
  • 当错误较多时,Laravel 不会显示错误。这是 Bug?

    重复的https github com laravel framework issues 31123 https github com laravel framework issues 31123 Laravel 版本 6 8 0 6 10
  • XDebug 与 Symfony 和 PhpStorm 不起作用(Ubuntu 安装)

    关于我的系统的事实乌班图15 10PHP 5 6 11交响乐2 7PhpStorm 10调试2 4我真的很难让 xdebug 在 PhpStorm 的 Symfony 项目下工作 我安装了xdebug 在我的 etc php5 apache
  • 未捕获的 ValueError:mysqli_stmt::execute():参数 #1 ($params) 必须是列表数组

    我试图通过这两个查询在我的数据库中插入准备好的语句多个值 这两个查询都发生故障 返回 未捕获的错误 调用未定义的方法 mysqli stmt bindValue 对于第一个代码或 未捕获的 ValueError mysqli stmt ex
  • 返回变量在 PHP 中不起作用(即没有返回值!)

    我更喜欢使用 Python 语言进行编程 但必须使用 PHP 来处理特定的网站应用程序项目 在 PHP 中 我试图将函数中的值 返回 到主程序环境 用于后续计算 但无论我尝试什么 函数中计算的值都不会返回该值 而是从函数中回显 工作正常 在
  • 如何将 Filesystem 类的 glob 方法与 StorageFacade 结合使用?

    这涉及到拉拉维尔 5 我可以看到Illuminate Filesystem Filesystem一个方法叫做glob pattern flags 0 不幸的是 这个方法并没有体现在默认的情况下FilesystemAdapter随 Larav
  • Instagram 如何使用 Amazon S3?

    在将文件上传到 Amazon S3 时 我需要深入了解 Instagram 的工程 我刚刚开始使用 S3 我认为 Instagram 是一个值得效仿的好模式 因为他们每天上传数千张图片 我的应用程序有点相似 用户上传图片 可以删除自己的图片
  • Symfony php.ini Debian

    我在 Oracle VM VirtualBox 上使用 Debian 7 amd64 LAMP 服务器 我正在尝试安装 Symfony 但遇到了一些小问题 当我运行命令时 php my project name app check php
  • 这些加密算法有什么区别?

    两者有什么区别MCRYPT RIJNDAEL 128 MCRYPT RIJNDAEL 256 MCRYPT BLOWFISH等等 哪一种最适合网络数据传输 Rijandel 是 AES 的另一个名称 AES 是当前的 一个好的标准 算法 数
  • Laravel 5 与 SAML 2 和现有 IDP 集成

    我使用 Laravel 5 我正在尝试将 SAML 2 0 与其集成 我找到了这个包 https github com aacotroneo laravel saml2 https github com aacotroneo laravel
  • 将 SQL 中的数据存储在数组中

    我正在尝试将 sql 数据库中的数据存储到数组中 目前我有这个 query mysql query SELECT FROM InspEmail WHERE Company LIKE company while row mysql fetch
  • PSR-4 代码库中条令生成器的解决方法

    在 Windows 机器上使用 Symfony 2 和 Doctrine 我正在尝试 从现有模式生成实体 php app console doctrine mapping import force CoreBundle annotation
  • 如何将 ctype_alpha 与 UTF-8 结合使用

    如何将 ctype alpha 与 UTF 8 一起使用 我有这个代码 if empty POST false if isset POST first name empty POST first name if ctype alpha PO
  • Propel Query 中的动态表名称

    我想知道您是否可以使 propel 查询的表名称动态化 有点像变量 一个例子类似于 DynamicVar Query create 我让它在 ifs 中工作 就像下面的例子一样 但如果更动态地制作 可以删除相当多的行 这些表的设置都是相同的
  • 如何覆盖 phpunit 中导出的变量?

    我知道我可以设置环境变量 https phpunit de manual current en appendixes configuration html在我的 phpunit xml 里面
  • php向多个收件人发送邮件

    我可以通过在邮件程序中定义 id 来将电子邮件发送到一个电子邮件 id 但是当用户在表单中键入 消息和电子邮件 id 时 我无法理解如何发送到多个收件人 例如 我正在显示一个带有两个文本区域的表单 一个用于电子邮件 ID 一个用于自定义消息
  • $_SESSION 中保存大量信息可以吗?

    我需要存储许多数组 SESSION以防止从 MySQL 检索信息 可以吗 其中 太多 的信息有多少 SESSION还是没有 太多 谢谢 附 或者更好地使用http php net manual en book memcache php ht
  • WordPress 事件按元生效日期排序

    我在获取参数数组以按 Wordpress 中的日期对事件列表进行排序时遇到一些问题 我在 Stack Overflow 和其他地方找到了几个建议的解决方案 但经过大量的试验和错误后 这些解决方案似乎都不起作用 这没什么花哨的 而且应该比这容
  • PHP - 查找和比较日期

    你好 我有 foreach 我可以在其中获取数据库中的事件数据 我使用数据库中的日期名称 例如 event date 我需要在一个 div 中比较具有相同日期和输出的操作 例如我有这个事件 活动一 9 月 13 日 活动二 9 月 1 日
  • 处理查询字符串参数时 Codeigniter 缓存问题

    问候 我正在编写一个 CI Web 应用程序 它实现标准文件缓存功能 如下所示 this gt output gt cache n 我使用了段和查询字符串参数的组合 因此似乎遇到了问题 我在用例和输出类代码中看到的是 缓存仅基于段 像这样

随机推荐