【问题标题】:How to generate dynamic authorization code using JWT api, user and password如何使用 JWT api、用户和密码生成动态授权码
【发布时间】:2020-10-29 15:21:06
【问题描述】:

现在我可以使用以下代码从 api 获取数据:

$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => "http://test-api.test.org/user/token",
 CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "Authorization: Bearer eyJ0eXAiOiJKV1QiI1NiJ9.eyJhdWQiOiIxIiwianRpIjoN2ZiQwiZXhwIjoxNTk0MjY5NjI"
  ),
));

$response = curl_exec($curl);

$data = json_decode($response, true);

echo $response;

但授权码每 15 分钟到期一次,我必须在 php 中的该间隔之后刷新令牌。

我的要求是:

  1. 使用jwt api、用户和密码动态生成token
  2. 检查令牌是否有效或一段时间后过期
  3. 令牌过期后,刷新它并动态生成新令牌。

提前感谢您的所有支持。

【问题讨论】:

    标签: php api jwt authorization token


    【解决方案1】:

    我找到了我的问题的解决方案并且它工作得很好。

    <?php
    $curl = curl_init();
    curl_setopt_array($curl, array(
    CURLOPT_URL => "https://{instance}/app/oauth/token",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => "{\"username\":\"yourusername\", \"yourpassword\":\"{pass}\"}",
    CURLOPT_HTTPHEADER => array(
    "cache-control: no-cache",
    "content-type: application/json"
    ),
    ));
    $response = curl_exec($curl);
    $err = curl_error($curl);
    curl_close($curl);
    if ($err) {
    echo "cURL Error #:" . $err;
    } else {
    echo $response;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-21
      • 2021-04-07
      • 2017-09-05
      • 1970-01-01
      • 1970-01-01
      • 2011-07-17
      • 2020-06-22
      • 1970-01-01
      相关资源
      最近更新 更多