首頁 我的資訊兩三事 用PHP取得Oauth2 Token (Client Credentials)

用PHP取得Oauth2 Token (Client Credentials)

0
621 瀏覽人次
oauth-2-sm

在Postman上,可以自動產生程式碼進行API呼叫,但如果系統需要先取得OAuth2的Token,其實Postman不會產生範例,我這邊平常會用到的大都是OAuth2的Client Credentials方式,其他方式可以參考OAuth2官網

大部分的範例都是在介紹如何進行網頁SSO,所以直接用AP呼叫使用的Client Credentials很少有範例,最近找到一個範例跟大家分享如下

 

// 首先將相關資訊指定好
$oauth_accessURL = "https://XXXXXX";
$oauth_clientID = "YYYYYYYYYYYYYYYYYYY";
$oauth_clientSecret = "ZZZZZZZZZZZZZZZZZ";


// 然後利用CURL方式呼叫Access URL取得Token
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => $oauth_accessURL,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_SSL_VERIFYHOST =>false,
  CURLOPT_SSL_VERIFYPEER => false,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "grant_type=client_credentials&client_id=$oauth_clientID&client_secret=$oauth_clientSecret",
  CURLOPT_HTTPHEADER => array(
    "content-type: application/x-www-form-urlencoded"
  ),
));

// $response裡面就會有Token相關資訊
$response = curl_exec($curl);
curl_close($curl);

 

 

沒有評論

留下一個答复

請輸入你的評論!
請在這裡輸入你的名字