mle86/request-authentication

一个用于API请求认证的简单库。

v0.10.3 2018-11-11 21:05 UTC

README

Build Status Coverage Status Latest Stable Version PHP 7.1 License

此PHP库提供了对出站API请求进行认证的通用接口,以及对入站API请求认证进行验证的接口。

该库遵循MIT许可证发布。

安装

通过Composer: $ composer require mle86/request-authentication

或将以下内容插入到您的项目中的composer.json文件中

"require": {
    "mle86/request-authentication": "^0"
}

依赖项和最小PHP版本

工作流程

此库包含多个AuthenticationMethod类。

每个类代表一种请求认证和验证机制。例如,BasicAuthenticationMethod添加一个Authorization: Basic … HTTP头到出站请求,并验证入站请求中的该头是否与已知用户名和密码列表匹配。

通常,不会直接使用AuthenticationMethod类(除了实例化它们),而是使用RequestAuthenticatorRequestVerifier包装类,它们依赖于AuthenticationMethod。

要签署/认证出站请求,您需要一个包装在RequestAuthenticator实例中的AuthenticationMethod实例、客户端ID和客户端密钥以及要签署的请求。authenticate()方法将添加必要的认证头到请求中,以便可以发送。

要验证入站请求,您需要一个相同类的AuthenticationMethod实例,包装在RequestVerifier实例中,以及一个将请求的客户端ID映射到用于签署请求的相同客户端密钥的KeyRepository
(在PublicKeyMethod类的情况下,客户端将使用其私钥进行签名,并且KeyRepository必须返回客户端的公钥。)

类和接口

更多文档