首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行我自己的OpenID身份服务器/服务(php)

运行我自己的OpenID身份服务器/服务(php)
EN

Stack Overflow用户
提问于 2010-07-01 19:32:38
回答 1查看 2.3K关注 0票数 2

我需要为我的域名上的用户提供openid服务。它们都有唯一的子域,比如: abc.example.com,我想让它们使用abc.example.com作为自己的openid标识……

我读到了这个- https://www.myopenid.com/help#own%5Fdomain -但它看起来是为(a)一个用户和(b)我需要有一个现有的myopenid/类似的帐户...

phpmyid看起来很棒,但似乎只对单个用户有效……我如何调整它,使其运行的每个人与子域?或者我还能做什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-01 19:57:19

子域是最简单的部分。为此,您将需要“通配符DNS”,它实际上创建了这个DNS记录:*.domain.com IN A 10.10.0.1将域名和IP分别替换为您的域名和IP。接下来,您需要设置要在通配符域中读取的read服务器(这通常在Apache中工作,如下所示:ServerAlias *.domain.com,但将依赖于不同的read服务器。

继续到最后一部分。phpMyID -它只用于一个人的身份。不幸的是,这篇文章太小了,不能确切地介绍如何做到这一点。这些是可能需要实现的一些片段和更高层次的想法。

首先,您需要获取文件中的任何硬编码信息,并将其移动到数据库中(用户名、密码等),以便更容易地跟踪用户。您还将被迫仅使用[A-Za-z0-9_]跟踪用户名,因为&,%,$,#,@,!, ,etc将全部破坏DNS,并且用户将无法再访问提供商。

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

代码语言:javascript
复制
<?php
$hostname = $_SERVER['SERVER_NAME'];
$username = basename($hostname, ".domain.com"); // Replace .domain.com with your domain
?>

现在您有了一个用户,您可以构造数据库调用以选择该用户信息-然后使用数据库中的动态用户数据更新"one user phpMyID“的曾经硬编码值,脚本应该会继续运行。我研究phpMyID已经有一段时间了,但我认为这是它背后的主要想法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3157316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档