shawm11 / oz-auth
PHP 实现的 Oz 网络授权协议
Requires
- php: >=7.2.0
- nategood/httpful: ^0.3.0
- shawm11/hawk-auth: ^1.0
- shawm11/iron-crypto: ^1.0
Requires (Dev)
- php: >=7.3.0
- codeception/assert-throws: ^1.0
- codeception/specify: ^1.1
- codeception/verify: ^2.0
- consolidation/robo: ^2.1
- mockery/mockery: ^1.1
- phpstan/phpstan: ^0.12.0
- phpunit/phpunit: ^9.0
- squizlabs/php_codesniffer: ^3.2
This package is auto-updated.
Last update: 2024-09-09 02:03:40 UTC
README
Oz 授权 PHP
5.0.0 版本的 Oz 网络授权协议的 PHP 实现。
重要
Oz 是那些可以被认为是“完整”的少数项目之一。这意味着此存储库的更改不太频繁,因为可能只需每隔几年更新一次开发依赖项。
如果文档中存在错误或错误,请创建一个 问题。问题将尽快得到响应或解决。
目录
什么是 Oz?
根据 Oz README
Oz 是一种基于行业最佳实践的网页授权协议。Oz 将 Hawk 身份验证协议与 Iron 加密协议结合,为用户或应用程序代表第三方访问 API 提供简单易用且安全解决方案。
Oz 和 OAuth 2.0
Oz 是 OAuth 1.0a 和 OAuth 2.0 三方授权的替代方案。Oz 的目标之一是针对最常见用例简单易用,无需成为网络安全专家,同时足够灵活,以满足需要更高级网络安全知识的较少见用例。Oz 通过为最常见用例提供默认安全选项来实现这一点,换句话说,Oz 旨在实现 默认安全。
所有官方三方 OAuth 2.0 授权类型都有一个等效的 Oz 工作流程。以下表格显示了 OAuth 2.0 授权类型对应的 Oz 工作流程。
入门
先决条件
- Git 2.9+
- PHP 7.2.0+
- OpenSSL PHP 扩展
- JSON PHP 扩展
- cURL PHP 扩展(仅当使用 Oz 客户端时)
- Composer
- Node 6.9.0+(仅限开发)
安装
使用 Composer 下载和安装
composer require shawm11/oz-auth-php
工作流程
此软件包包括两个不属于 官方 Oz 网络授权协议 的工作流程。这两个新工作流程是 用户凭证工作流程 和 隐式工作流程。官方协议中指定的标准 Oz 工作流程被称为 “RSVP 工作流程”。
使用示例
服务器使用示例
客户端使用示例
文档
- RSVP 工作流程(不使用委派) — 不使用委派时的 RSVP(标准)工作流程的概述
- 用户凭证流程 — 用户凭证流程的概述
- 隐式流程 — 隐式流程的概述
API 参考
- 服务器API —
Shawm11\Oz\Server
命名空间中类的API参考 - 客户端API —
Shawm11\Oz\Client
命名空间中类的API参考 - 共享数组 — 关于API其他部分使用的数据集合的详细信息
安全性考虑
请参阅Oz的README中的安全考虑部分。
相关项目
- Hawk PHP实现 — Hawk是一种HTTP身份验证方案,是OAuth 1.0a和OAuth 2.0双端认证的替代方案。
- Iron PHP实现 — iron(全部小写字母拼写),是一个用于将JSON对象密封到封装令牌的加密工具。iron可以被认为是JSON Web Tokens (JWT)的替代方案。
贡献/开发
请阅读CONTRIBUTING.md以获取有关编码风格、Git提交消息指南和其他开发信息的详细信息。
版本控制
本项目使用SemVer进行版本控制。有关可用的版本,请参阅此存储库上的标签。
许可
本项目是开源软件,采用MIT许可。