api-clients / psr7-oauth1
PHP的客户端PSR-7 Oauth1请求签名器
3.0.0
2021-05-13 21:00 UTC
Requires
- php: ^7.4 || ^8
- ext-hash: ^7.4 || ^8
- psr/http-message: ^1.0.1
- thecodingmachine/safe: ^1.3
Requires (Dev)
- guzzlehttp/psr7: ^1.8.2
- wyrihaximus/async-test-utilities: ^3.4.24
This package is auto-updated.
Last update: 2024-08-27 00:27:55 UTC
README
安装
要通过Composer安装,请使用以下命令,它将自动检测最新版本并将其绑定到^
。
composer require api-clients/psr7-oauth1
如果您的包需要支持5.5+
,我们建议您使用以下命令
composer require api-clients/psr7-oauth1:^1.0
然而,由于该包的1.0
、2.0
和3.0
版本100%兼容,我们建议您使用以下命令来支持两者
composer require "api-clients/psr7-oauth1:^2.0 || ^1.0"
示例
<?php use ApiClients\Tools\Psr7\Oauth1\Definition; use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner; // Pass it a PSR-7 request and it returns a signed PSR7 request you can use in any PSR7 capable HTTP client. // By default a HMAC-SHA1 signature will be used, this can be changed, see examples below how to do that. $request = (new RequestSigner( new Definition\ConsumerKey('consumer_key'), new Definition\ConsumerSecret('consumer_secret') ))->withAccessToken( new Definition\AccessToken('token_key'), new Definition\TokenSecret('token_secret') )->sign($request);
支持的签名
所有支持的签名都是HMAC签名。
MD5
使用HMAC-MD5
签名请求。用法
<?php use ApiClients\Tools\Psr7\Oauth1\Definition; use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner; use ApiClients\Tools\Psr7\Oauth1\Signature\HmacMd5Signature; $consumerSecret = new Definition\ConsumerSecret('consumer_secret'); $requestSigner = new RequestSigner( new Definition\ConsumerKey('consumer_key'), $consumerSecret, new HmacMd5Signature($consumerSecret) );
SHA1
使用HMAC-SHA1
签名请求。用法
<?php use ApiClients\Tools\Psr7\Oauth1\Definition; use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner; use ApiClients\Tools\Psr7\Oauth1\Signature\HmacSha1Signature; $consumerSecret = new Definition\ConsumerSecret('consumer_secret'); $requestSigner = new RequestSigner( new Definition\ConsumerKey('consumer_key'), $consumerSecret, new HmacSha1Signature($consumerSecret) );
SHA256
使用HMAC-SHA256
签名请求。用法
<?php use ApiClients\Tools\Psr7\Oauth1\Definition; use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner; use ApiClients\Tools\Psr7\Oauth1\Signature\HmacSha256Signature; $consumerSecret = new Definition\ConsumerSecret('consumer_secret'); $requestSigner = new RequestSigner( new Definition\ConsumerKey('consumer_key'), $consumerSecret, new HmacSha256Signature($consumerSecret) );
SHA384
使用HMAC-SHA384
签名请求。用法
<?php use ApiClients\Tools\Psr7\Oauth1\Definition; use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner; use ApiClients\Tools\Psr7\Oauth1\Signature\HmacSha384Signature; $consumerSecret = new Definition\ConsumerSecret('consumer_secret'); $requestSigner = new RequestSigner( new Definition\ConsumerKey('consumer_key'), $consumerSecret, new HmacSha384Signature($consumerSecret) );
SHA512
使用HMAC-SHA512
签名请求。用法
<?php use ApiClients\Tools\Psr7\Oauth1\Definition; use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner; use ApiClients\Tools\Psr7\Oauth1\Signature\HmacSha512Signature; $consumerSecret = new Definition\ConsumerSecret('consumer_secret'); $requestSigner = new RequestSigner( new Definition\ConsumerKey('consumer_key'), $consumerSecret, new HmacSha512Signature($consumerSecret) );
贡献
有关详细信息,请参阅CONTRIBUTING。
许可证
MIT许可证 (MIT)
版权所有 (c) 2021 Cees-Jan Kiewiet & Beau Simensen
特此授予任何获得此软件及其相关文档副本(“软件”)的人免费使用软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供的人行使上述权利,前提是遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何形式的保证,明示或暗示,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是否基于合同、侵权或其他方式,与软件或其使用或其他交易有关。