@@ -24,21 +24,114 @@ use ApiClients\Tools\Psr7\Oauth1\Definition;
24
24
use ApiClients\Tools\Psr7\Oauth1\RequestSigning\RequestSigner;
25
25
use ApiClients\Tools\Psr7\Oauth1\Signature\HmacSha1Signature;
26
26
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
+
27
53
$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;
28
71
72
+ $consumerSecret = new Definition\ConsumerSecret('consumer_secret');
29
73
$requestSigner = new RequestSigner(
30
74
new Definition\ConsumerKey('consumer_key'),
31
75
$consumerSecret,
32
- new HmacSha1Signature( // Optional, but allows for other than HMAC SHA1 signatures
33
- $consumerSecret
34
- )
76
+ new HmacSha1Signature($consumerSecret)
35
77
);
78
+ ```
36
79
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
+ );
42
135
```
43
136
44
137
# Contributing
0 commit comments