我需要为我的域上的用户提供OpenID服务。他们都有独特的子域,例如:abc.example.com和我希望他们将abc.example.com用作其openID身份...

我读了 - https://www.myopenid.com/help#own%5fdomain - 但是它看起来像(a)一个用户,(b)我需要拥有一个现有的肌肉运动/类似帐户...

phpMyID看起来RAD,但似乎仅适用于单个用户...我如何调整它以使其为子域的每个人运行吗?还是我还能做什么?

有帮助吗?

解决方案

子域是简单的部分。为此,您将需要“通配符DNS”,从本质上创建此DNS记录: *.domain.com IN A 10.10.0.1 分别用您的域和IP替换域。接下来,您需要设置任何Web服务器在通配符域中读取的任何Web服务器(通常在Apache中起作用: ServerAlias *.domain.com 但是将依赖于Web服务器到Web服务器。

到最后一部分。 PhpMyID-仅适用于一个人的身份。不幸的是,这篇文章太小了,无法准确地完成如何做到这一点。这些是一些狙击和更高层次的想法,可能需要实施。

首先,您需要获取文件中的任何硬编码信息,然后将其移至数据库(用户名,密码等),以便您可以更轻松地跟踪用户。您还将被迫仅使用 [A-Za-z0-9_] 作为 &,%,$,#,@,!, ,etc 所有人都将破坏DNS,用户将无法再访问提供商。

您还需要知道要访问的当前主机名是:

<?php
$hostname = $_SERVER['SERVER_NAME'];
$username = basename($hostname, ".domain.com"); // Replace .domain.com with your domain
?>

因此,现在您有了一个用户,您可以构建数据库调用以选择该用户信息 - 然后使用数据库中的动态用户数据更新“一个用户phpMyID”的曾经硬编码值,并且脚本应继续以愉快的方式继续。自从我看过phpmyid以来已经有一段时间了,但我认为这是背后的大部分想法。

其他提示

草原 是一台基于开放的Internet Internet标识服务器。而不是在每个网站上注册不同的用户名和密码组合,而是使用身份服务器登录您。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top