我需要为我的域上的用户提供openid服务。它们都有独特的子域名,例如:abc.example.com,我希望他们使用abc.example.com作为他们的openid身份......
我读了这个 - https://www.myopenid.com/help#own%5Fdomain - 但它看起来像是(a)一个用户和(b)我需要一个现有的myopenid /类似帐户......
phpmyid看起来像rad,但似乎只适用于单个用户...我如何调整它以使其为具有子域的每个人运行?或者我还能做什么?
答案 0 :(得分:3)
子域名很容易。为此,您需要“通配符DNS”本质上创建此DNS记录:*.domain.com IN A 10.10.0.1
分别用您的域名和IP替换。接下来,您需要设置要在通配符域中读取的任何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
?>
现在您有了一个用户,您可以构建数据库调用以选择该用户信息 - 然后使用来自数据库的动态用户数据更新“one user phpMyID”的一次硬编码值,并且脚本应该继续这是快乐的方式。自从我看了phpMyID以来已经有一段时间了,但我认为这是它背后的大部分想法。
答案 1 :(得分:2)
答案 2 :(得分:0)
Prairie是一个基于OpenID的轻量级Internet身份服务器。您可以使用身份服务器登录,而不是使用不同的用户名和密码组合在每个网站上注册。