shawm11/hawk-auth

PHP 实现的 Hawk HTTP 身份验证方案

1.0.8 2022-01-25 19:05 UTC

This package is auto-updated.

Last update: 2024-09-09 01:56:36 UTC


README

Hawk 身份验证 PHP

Version Number PHP Version License

A PHP 实现 9.0.2 版本的 Hawk HTTP 身份验证方案。

重要

Hawk 是那些被认为是“完整”的罕见项目之一。根据其 README,协议和文档被认为是完整的。这意味着该存储库的更改不频繁,因为可能只需每隔几年更新一次开发依赖项。

如果文档中存在错误或问题,请创建一个 问题。问题将尽快得到回复或解决。

目录

什么是 Hawk?

根据 Hawk 的 API 文档

Hawk 是一种 HTTP 身份验证方案,提供机制以使用部分加密验证进行身份验证的 HTTP 请求和响应,涵盖 HTTP 方法、请求 URI、主机以及可选的请求有效负载。

注意,Hawk 不是一个完整的 OAuth 替代品。在 Hawk API 文档的 常见问题 部分中明确指出

Hawk 最初被提出作为 OAuth MAC Token 规范。然而,OAuth 工作组在其一贯的无能中未能提出一个最终、可用的解决方案来解决 OAuth 1.0 的一个最常用用例——使用它来验证简单的客户端-服务器事务(即双端)。正如你可以猜到的,OAuth 工作组仍在努力制造更多的垃圾。

Hawk 提供了一种简单的 HTTP 身份验证方案,用于进行客户端-服务器请求。它不涉及 OAuth 将访问权委托给第三方的情况。如果您正在寻找 OAuth 的替代方案,请查看 Oz

有关 Hawk 的更多信息,请查看其 API 文档

入门

先决条件

  • Git 2.9+
  • PHP 5.5.0+
  • OpenSSL PHP 扩展
  • JSON PHP 扩展
  • Composer

安装

使用 Composer 下载和安装

composer require shawm11/hawk-auth

使用示例

本节中的示例未经修改无法工作。然而,这些示例应该足以说明如何使用此包。由于 PHP 是一种最常用于服务器逻辑的语言,因此“服务器”用法比“客户端”用法更常见。

API 参考

  • 服务器 APIShawm11\Hawk\Server 命名空间中的类 API 参考
  • 客户端 APIShawm11\Hawk\Client 命名空间中的类 API 参考
  • Utils APIShawm11\Hawk\Utils 命名空间中类的API参考
  • Crypto APIShawm11\Hawk\Crypto 命名空间中类的API参考

安全考虑

请参阅安全注意事项部分,该部分位于Hawk API文档中。

相关项目

  • Oz PHP实现 — Oz是一种Web授权协议,是OAuth 1.0a和OAuth 2.0三步授权的替代方案。Oz同时使用Hawk和iron
  • Iron PHP实现iron(全部小写字母拼写),用于将JSON对象封装成令牌的加密工具。可以将iron视为JSON Web Tokens (JWT)的替代方案。

贡献/开发

请阅读CONTRIBUTING.md,了解编码风格、Git提交信息指南和其他开发信息。

版本

本项目使用SemVer进行版本控制。有关可用版本,请参阅本存储库的标签。

许可

本项目是开源软件,采用MIT许可证