@@ -24,21 +24,114 @@ use ApiClients\Tools\Psr7\Oauth1\Definition;
2424use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner;
2525use ApiClients\Tools\Psr7\Oauth1\Signature\HmacSha1Signature;
2626
27+ // Pass it a PSR-7 request and it returns a signed PSR7 request you can use in any PSR7 capable HTTP client.
28+ // By default a HMAC-SHA1 signature will be used, this can be changed, see examples below how to do that.
29+ $request = (new RequestSigner(
30+ new Definition\ConsumerKey('consumer_key'),
31+ new Definition\ConsumerSecret('consumer_secret')
32+ ))->withAccessToken(
33+ new Definition\AccessToken('token_key'),
34+ new Definition\TokenSecret('token_secret')
35+ )->sign($request);
36+ ```
37+
38+ # Suppported signatures
39+
40+ All supported signatures are HMAC signatures.
41+
42+ ## MD5
43+
44+ Signs request with ` HMAC-MD5 ` . Usage:
45+
46+ ``` php
47+ <?php
48+
49+ use ApiClients\Tools\Psr7\Oauth1\Definition;
50+ use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner;
51+ use ApiClients\Tools\Psr7\Oauth1\Signature\HmacMd5Signature;
52+
2753$consumerSecret = new Definition\ConsumerSecret('consumer_secret');
54+ $requestSigner = new RequestSigner(
55+ new Definition\ConsumerKey('consumer_key'),
56+ $consumerSecret,
57+ new HmacMd5Signature($consumerSecret)
58+ );
59+ ```
60+
61+ ## SHA1
62+
63+ Signs request using ` HMAC-SHA1 ` . Usage:
64+
65+ ``` php
66+ <?php
67+
68+ use ApiClients\Tools\Psr7\Oauth1\Definition;
69+ use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner;
70+ use ApiClients\Tools\Psr7\Oauth1\Signature\HmacSha1Signature;
2871
72+ $consumerSecret = new Definition\ConsumerSecret('consumer_secret');
2973$requestSigner = new RequestSigner(
3074 new Definition\ConsumerKey('consumer_key'),
3175 $consumerSecret,
32- new HmacSha1Signature( // Optional, but allows for other than HMAC SHA1 signatures
33- $consumerSecret
34- )
76+ new HmacSha1Signature($consumerSecret)
3577);
78+ ```
3679
37- // Pass it a PSR-7 request and it returns a signed PSR7 request you can use in any PSR7 capable HTTP client.
38- $request = $requestSigner->withAccessToken(
39- new Definition\AccessToken('token_key'),
40- new Definition\TokenSecret('token_secret')
41- )->sign($request);
80+ ## SHA256
81+
82+ Signs request using ` HMAC-SHA256 ` . Usage:
83+
84+ ``` php
85+ <?php
86+
87+ use ApiClients\Tools\Psr7\Oauth1\Definition;
88+ use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner;
89+ use ApiClients\Tools\Psr7\Oauth1\Signature\HmacSha256Signature;
90+
91+ $consumerSecret = new Definition\ConsumerSecret('consumer_secret');
92+ $requestSigner = new RequestSigner(
93+ new Definition\ConsumerKey('consumer_key'),
94+ $consumerSecret,
95+ new HmacSha256Signature($consumerSecret)
96+ );
97+ ```
98+
99+ ## SHA384
100+
101+ Signs request using ` HMAC-SHA384 ` . Usage:
102+
103+ ``` php
104+ <?php
105+
106+ use ApiClients\Tools\Psr7\Oauth1\Definition;
107+ use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner;
108+ use ApiClients\Tools\Psr7\Oauth1\Signature\HmacSha384Signature;
109+
110+ $consumerSecret = new Definition\ConsumerSecret('consumer_secret');
111+ $requestSigner = new RequestSigner(
112+ new Definition\ConsumerKey('consumer_key'),
113+ $consumerSecret,
114+ new HmacSha384Signature($consumerSecret)
115+ );
116+ ```
117+
118+ ## SHA512
119+
120+ Signs request using ` HMAC-SHA512 ` . Usage:
121+
122+ ``` php
123+ <?php
124+
125+ use ApiClients\Tools\Psr7\Oauth1\Definition;
126+ use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner;
127+ use ApiClients\Tools\Psr7\Oauth1\Signature\HmacSha512Signature;
128+
129+ $consumerSecret = new Definition\ConsumerSecret('consumer_secret');
130+ $requestSigner = new RequestSigner(
131+ new Definition\ConsumerKey('consumer_key'),
132+ $consumerSecret,
133+ new HmacSha512Signature($consumerSecret)
134+ );
42135```
43136
44137# Contributing
0 commit comments