robertdrakedennis/lightopenid

修复版:轻量级PHP5库,用于简单的OpenID身份验证。

1.3.1 2016-03-04 09:10 UTC

This package is auto-updated.

Last update: 2024-09-29 05:42:41 UTC


README

NOTICE

我无法再支持或维护此项目 - 如果你想接管项目,请给我发邮件。

LightOpenID

轻量级PHP5库,用于简单的OpenID身份验证。

快速入门

添加到composer.json

"repositories": [
  {
    "type": "vcs",
    "url": "https://github.com/iignatov/LightOpenID"
  }
],

"require": {	
  "php": ">=5.4.0",
  "iignatov/lightopenid": "*"
}

通过OpenID进行登录只需两步

  1. 与提供者进行身份验证

    $openid = new LightOpenID('my-host.example.org');
    
    $openid->identity = 'ID supplied by user';
    
    header('Location: ' . $openid->authUrl());
  2. 验证

    $openid = new LightOpenID('my-host.example.org');
    
    if ($openid->mode) {
      echo $openid->validate() ? 'Logged in.' : 'Failed!';
    }

支持AX和SREG扩展

要使用AX和SREG扩展,在调用$openid->authUrl()之前指定$openid->required和/或$openid->optional。这些是数组,值是AX模式路径(URL的'path'部分)。例如

$openid->required = array('namePerson/friendly', 'contact/email');
$openid->optional = array('namePerson/first');

请注意,如果服务器只支持SREG或OpenID 1.1,这些将自动映射到SREG名称。要获取值,请使用

$openid->getAttributes();

有关更多信息,请参阅USAGE.md

要求

此库需要PHP >= 5.1.2,并启用cURL或HTTP/HTTPS流封装。

功能

  • 易于使用 - 你可以用不到十行代码编写一个功能性的客户端。
  • 如果可用,使用cURL,否则使用PHP流。
  • 支持OpenID 1.1和2.0。
  • 支持Yadis发现。
  • 仅支持无状态的/愚笨的协议。
  • 与PHP >= 5兼容。
  • 使用error_reporting(E_ALL | E_STRICT)不产生错误。

链接

许可

LightOpenID是在MIT许可下提供的开源软件。