ohmy/auth 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ohmy/auth

最新稳定版本:0.0.7

Composer 安装命令:

composer require ohmy/auth

包简介

OAuth so easy.. you won't even believe it's OAuth

关键字:

README 文档

README

ohmy-auth (Oma) is a PHP library that simplifies OAuth into a fluent interface:

use ohmy\Auth1;
Auth1::legs(2)
     ->set('key', 'key')
     ->set('secret', 'secret')
     ->request('http://term.ie/oauth/example/request_token.php')
     ->access('http://term.ie/oauth/example/access_token.php')
     ->GET('http://term.ie/oauth/example/echo_api.php')
     ->then(function($data) {
         # got data
     });

Dependencies

Oma only requires PHP (>= 5.3) and the usual extensions for Curl (curl_init(), curl_setopt(), etc), JSON (json_encode(), json_decode()) and sessions (session_start(), session_destroy()).

Installing with Composer

The best way to install Oma is via Composer. Just add ohmy/auth to your project's composer.json and run composer install. eg:

{
    "require": {
        "ohmy/auth": "*"
    }
}

Installing manually

If you prefer not to use Composer, you can download an archive or clone this repo and put src/ohmy into your project setup.

Two-Legged OAuth 1.0a

use ohmy\Auth1;

# do 2-legged oauth
$termie = Auth1::legs(2)
               # configuration
               ->set('key', 'key')
               ->set('secret', 'secret')
               # oauth flow
               ->request('http://term.ie/oauth/example/request_token.php')
               ->access('http://term.ie/oauth/example/access_token.php');

# api call
$termie->GET('http://term.ie/oauth/example/echo_api.php')
       ->then(function($data) {
           # got data
       });

Three-Legged OAuth 1.0a

Note: This requires sessions in order to save data between redirects. This will not work properly without sessions!

use ohmy\Auth1;

# do 3-legged oauth
$tumblr = Auth1::legs(3)
               # configuration
               ->set(array(
                    'consumer_key'    => 'your_consumer_key',
                    'consumer_secret' => 'your_consumer_secret',
                    'callback'        => 'your_callback_url'
               ))
               # oauth flow
               ->request('http://www.tumblr.com/oauth/request_token')
               ->authorize('http://www.tumblr.com/oauth/authorize')
               ->access('http://www.tumblr.com/oauth/access_token');

# access tumblr api      
$tumblr->GET('https://api.tumblr.com/v2/user/info')
       ->then(function($data) {
           # got user data
       });

Three-Legged OAuth 2.0

use ohmy\Auth2;

# do 3-legged oauth
$github = Auth2::legs(3)
               # configuration
               ->set(array(
                    'id'       => 'your_github_client_id',
                    'secret'   => 'your_github_client_secret',
                    'redirect' => 'your_redirect_uri'
               ))
               # oauth flow
               ->authorize('https://github.com/login/oauth/authorize')
               ->access('https://github.com/login/oauth/access_token')
               ->finally(function($data) use(&$access_token) {
                   $access_token = $data['access_token'];
               });

# access github api
$github->GET("https://api.github.com/user?access_token=$access_token", null, array('User-Agent' => 'ohmy-auth'))
       ->then(function($data) {
           # got user data
       });

More examples

Licenses

  • PHP license: PHP License
  • ohmy-auth: New BSD License.

ohmy/auth 适用场景与选型建议

ohmy/auth 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 354.11k 次下载、GitHub Stars 达 98, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「oauth」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 ohmy/auth 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 ohmy/auth 我们能提供哪些服务?
定制开发 / 二次开发

基于 ohmy/auth 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 354.11k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 101
  • 点击次数: 16
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 98
  • Watchers: 12
  • Forks: 22
  • 开发语言: PHP

其他信息

  • 授权协议: New
  • 更新时间: 未知