9a2390f16b483568c16f311dc784173072be9693
Bernd Wurst API-Authtoken, Idle-Warnung...

Bernd Wurst authored 4 years ago

1) <?php
2) 
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

3) require_once("config.php");
4) $base_url = $config['api_url'];
Bernd Wurst reuse JWT token

Bernd Wurst authored 1 year ago

5) 
6) $TOKEN_FILE = '../jwt-token.json';
7) $jwt = [
8)     "token" => null,
9)     "refresh_token" => null,
10)     "exp" => time()
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

11) ];
Bernd Wurst API-Authtoken, Idle-Warnung...

Bernd Wurst authored 4 years ago

12) 
Bernd Wurst reuse JWT token

Bernd Wurst authored 1 year ago

13) if (file_exists($TOKEN_FILE)) {
14)     $jwt = json_decode(file_get_contents($TOKEN_FILE), true);
15) }
16) 
17) if (!$jwt['token'] || $jwt['exp'] < time()+5) {
18)     // get new token
19)     # init API
20)     $url = $base_url . 'login';
21)     $data = [
22)         "username" => $config['api_username'],
23)         "password" => $config['api_password']
24)     ];
25)     $options = array(
26)       'http' => array(
27)         'method'  => 'POST',
28)         'content' => json_encode( $data ),
29)         'header'=>  "Content-Type: application/json\r\n" .
30)                     "Accept: application/json\r\n"
31)         )
32)     );
33) 
34)     $context  = stream_context_create( $options );
35)     $result = file_get_contents( $url, false, $context );
36)     $response = json_decode( $result, true);
37) 
38)     $jwt['token'] = $response["token"];
39)     $jwt['refresh_token'] = $response["refresh_token"];
40)     $fields = explode('.', $jwt['token']);
41)     $data = json_decode(base64_decode($fields[1]), true);
42)     $jwt['exp'] = $data['exp'];
43) }
Bernd Wurst API-Authtoken, Idle-Warnung...

Bernd Wurst authored 4 years ago

44) 
Bernd Wurst reuse JWT token

Bernd Wurst authored 1 year ago

45) file_put_contents($TOKEN_FILE, json_encode($jwt));
Bernd Wurst API-Authtoken, Idle-Warnung...

Bernd Wurst authored 4 years ago

46) 
47) 
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

48) function api_call($method, $url, $content = []) {
Bernd Wurst reuse JWT token

Bernd Wurst authored 1 year ago

49)     global $jwt;
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

50)     global $base_url;
51)     $url = $base_url . $url;
52)     $options = array(
53)       'http' => array(
54)         'method'  => strtoupper($method),
55)         'content' => json_encode( $content ),
56)         'header'=>  "Content-Type: application/json\r\n" .
57)                     "Accept: application/json\r\n" .
Bernd Wurst reuse JWT token

Bernd Wurst authored 1 year ago

58)                     "Authorization: Bearer ".$jwt['token']."\r\n"
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

59)         )
60)     );
Bernd Wurst besserer Debug-Modus, Handh...

Bernd Wurst authored 4 years ago

61) 
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

62)     $context  = stream_context_create( $options );
63)     $result = file_get_contents( $url, false, $context );
64)     $response = json_decode( $result, true );
65)     return $response;
66) }
Bernd Wurst API-Authtoken, Idle-Warnung...

Bernd Wurst authored 4 years ago

67) 
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

68) require_once('vendor/autoload.php');
Bernd Wurst API-Authtoken, Idle-Warnung...

Bernd Wurst authored 4 years ago

69) 
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

70) function format_number_api($number) {
71)     $phoneNumberUtil = \libphonenumber\PhoneNumberUtil::getInstance();
72)     try {
73)         $phoneNumber = $phoneNumberUtil->parse($number, 'DE');
74)     } catch (Exception $e) {
75)         return NULL;
Bernd Wurst besserer Debug-Modus, Handh...

Bernd Wurst authored 4 years ago

76)     }
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

77)     if ($phoneNumberUtil->isValidNumber($phoneNumber)) {
78)         return $phoneNumberUtil->format($phoneNumber, \libphonenumber\PhoneNumberFormat::E164);
Bernd Wurst API-Authtoken, Idle-Warnung...

Bernd Wurst authored 4 years ago

79)     }
Bernd Wurst Neue API 2023

Bernd Wurst authored 1 year ago

80)     return NULL;