Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $baseUrl = 'https://shaarli.mydomain.net';
- $secret = 'thats_my_api_secret';
- function base64url_encode($data) {
- return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
- }
- function generateToken($secret) {
- $header = base64url_encode('{
- "typ": "JWT",
- "alg": "HS512"
- }');
- $payload = base64url_encode('{
- "iat": '. time() .'
- }');
- $signature = base64url_encode(hash_hmac('sha512', $header .'.'. $payload , $secret, true));
- return $header . '.' . $payload . '.' . $signature;
- }
- function getInfo($baseUrl, $secret) {
- $token = generateToken($secret);
- $endpoint = rtrim($baseUrl, '/') . '/api/v1/info';
- $headers = [
- 'Content-Type: text/plain; charset=UTF-8',
- 'Authorization: Bearer ' . $token,
- ];
- $ch = curl_init($endpoint);
- curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
- curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
- $result = curl_exec($ch);
- curl_close($ch);
- return $result;
- }
- var_dump(getInfo($baseUrl, $secret));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement