OpenID是一个URL形 式的通行证,由OpenID服务提供商提供的一个开放的,可以在整个网络使用超级通行证。 phpMyID是一个简单的非常轻量级的OpenID Server的应用,而且是开源的PHP代码,很适合建立个人的OpenID Server,修改一下也可以实现多人使用。

安装

  1. phpMyID下载代码,现在版本BETA v0.5。解压缩后关键文件就2个,一个MyID.php,一个MyID.config.php
  2. 上传2个文件到服务器就可以使用了,默认用户名和密码都为test。

设置

MyID.php为主文件,包含全部功能,MyID.config.php定义了一些个人信息变量,然后调用MyID.php,可以根据情况来使用不同文 件。

  1. 单用户
    • 可以只使用MyID.php文件,修改其中的$profile 下面的登录信息和$sreg下面的个人信息。
    • 或者使用MyID.config.php,做同样修改,好处就是如果升级MyID.php主文件,只需下载覆盖MyID.php,不用再一次修改个人信 息。
  2. 多用户
    • 复制多个MyID.config.php文件分别改名成不同文件如:用户1.config.php, 用户2.config.php并修改其中信息。
    • 多个用用户调用时,调用其自己的 用户.config.php
  3. 设置用户信息

要更改登录信息,修改MyID.config.php或MyID.php 找到$profile 下面:

’auth_username’ => ‘test’,
’auth_password’ =>’37fa04faebe5249023ed1f6cc867329b’

用户名改称你想要的名字,密码有一点麻烦,它是按照MD5加密username:realm:password设定的

  • username为你改的用户名
  • realm默认为phpMyID,可以上传程序运行一次默认设置看其endpoint的输出中Realm的值。
Server: http://myid.bpdig.com/index.php
Realm: 
  • password为你的密码

例如如果我修要修改:

  • 用户名为:test
  • realm为:phpMyID
  • 密码为:test

就需要把test:phpMyID:test用MD5加密:

Linux下输入:

$ echo -n 'test:phpMyID:test' | openssl md5

windows下输入:(md5 Utility可以在这里下载):

md5.exe -d"test:phpMyID:test"
到结果37fa04faebe5249023ed1f6cc867329b
填写到’auth_password’ =>’37fa04faebe5249023ed1f6cc867329b’

$sreg的个人信息:

  • ‘nickname’ ⇒ ‘Joe’, 昵称
  • ‘email’ ⇒ ‘joe@example.com’, Email地址RFC2822
  • ‘fullname’ ⇒ ‘Joe Example’, 全名
  • ‘dob’ ⇒ ‘1970-10-31′, 生日
  • ‘gender’ ⇒ ‘M’, 性别
  • ‘postcode’ ⇒ ‘22000′, 邮编
  • ‘country’ ⇒ ‘US’, 国家 ISO3166
  • ‘language’ ⇒ ‘en’, 语言 ISO639
  • ‘timezone’ ⇒ ‘America/New_York’ 时区 TimeZone database

其中Email地址,国家,语言需要按照ISO标准来些,时区需要按照ASCII string TimeZone database。

中国CN,汉语zh,时区Asia/Shanghai (其他时区没找到)

使用

以上都做好,这个OpenID服务器就可以使用了,此时你的OpenID为http://你的网站域名/MyID.php或 MyID.config.php或其他名字,以MyID.php为例:

  • 在浏览器的地址中输入:http://你的网站域名/MyID.php可以查看服务器信息。
  • 登录输入:http://你的网站域名/MyID.php?.mode=login
  • 登出输入:http://你的网站域名/MyID.php?openid.mode=logout

查看页面源码你会发现在head标签里有这样两行

<link rel=”openid.server” href=”http://你的网站域名/MyID.php” />
<link rel=”openid.delegate” href=”http://你的网站域名/MyID.php” />

将这两行内容加在其他URL页面的head里,这个URL也可以当作你的一个OpenID

例如:在http://siege.org/ 首页的head中加入上面两行link

http://siege.org
siege.org
www.siege.org

都可以成为你的OpenID

  • 在MyID.php中XML输出部分可以加入CSS样式。
  • 加入方便登录和登出的按钮。
  • 例如:http://myid.bpdig.com 更美观了吧。

测试

  • 当建立好后,用你的OpenID登录一些支持OpenID的网站。
  • 也可以到支持OPEN ID的博客用OpenID登录发表 一个评论,测试一下结果吧.

其他

安全问题需要提醒一下:最好使用OpenSSL加密保证密码安全。

本文地址:用phpMyID建自己的OpenID服务器

随机日志

TAG标签:,

暂无留言我要留言 »

必填

必填,绝不公开

Spam Protection by WP-SpamFree