From 0bba9f67ab9a714e8a33a7ebf1a45092918a5e0c Mon Sep 17 00:00:00 2001 From: xu42 Date: Fri, 3 Jan 2020 15:55:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=87=AA=E7=94=A8=E5=9E=8B?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E5=88=B7=E6=96=B0Token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 22 ++++++++++++++-------- examples/token/getToken.php | 26 +++++++++++++++++++++++++- src/Open/Token.php | 3 ++- 3 files changed, 41 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index aba5daf..ca115ad 100644 --- a/README.md +++ b/README.md @@ -40,28 +40,23 @@ require_once '/YOUR_SDK_PATH/youzanyun-open-sdk/open-sdk/vendor/autoload.php'; 详情参考[examples](examples) -### 1. 获取 accessToken +### 1. 获取及刷新access_token -#### 工具型应用 +#### 工具型应用 获取access_token ``` php require_once './vendor/autoload.php'; $clientId = "YOUR_CLIENT_ID"; $clientSecret = "YOUR_CLIENT_SECRET"; -// 获取AccessToken $type = 'authorization_code'; $keys['code'] = 'YOUR_CODE'; -// 刷新AccessToken -$type = 'refresh_token'; -$keys['refresh_token'] = 'YOUR_REFRESH_TOKEN'; - $accessToken = (new \Youzan\Open\Token($clientId, $clientSecret))->getToken($type, $keys); var_dump($accessToken); ``` -#### 自用型应用 +#### 自用型应用 获取access_token ``` php require_once './vendor/autoload.php'; @@ -70,10 +65,21 @@ $clientSecret = "YOUR_CLIENT_SECRET"; $type = 'silent'; $keys['kdt_id'] = 'YOUR_KDT_ID'; +$keys['refresh'] = true; //是否获取refresh_token(可通过refresh_token刷新token) $accessToken = (new \Youzan\Open\Token($clientId, $clientSecret))->getToken($type, $keys); var_dump($accessToken); +``` + +#### 工具型应用及自用型应用 刷新access_token +```php +require_once './vendor/autoload.php'; +$type = 'refresh_token'; +$keys['refresh_token'] = 'YOUR_REFRESH_TOKEN'; + +$accessToken = (new \Youzan\Open\Token($clientId, $clientSecret))->getToken($type, $keys); +var_dump($accessToken); ``` ### 2. 接口调用 diff --git a/examples/token/getToken.php b/examples/token/getToken.php index 9031abf..421c313 100644 --- a/examples/token/getToken.php +++ b/examples/token/getToken.php @@ -6,12 +6,36 @@ // require_once '/path/to/youzanyun-open-sdk/open-sdk/vendor/autoload.php'; + +// 自用型应用 获取access_token $clientId = "YOUR_CLIENT_ID"; $clientSecret = "YOUR_CLIENT_SECRET"; + $type = 'silent'; -$keys['kdt_id'] = 110; +$keys['kdt_id'] = 'YOUR_KDT_ID'; +$keys['refresh'] = true; //是否获取refresh_token(可通过refresh_token刷新token) + +$accessToken = (new \Youzan\Open\Token($clientId, $clientSecret))->getToken($type, $keys); +var_dump($accessToken); + + + +// 工具型应用 获取access_token +$clientId = "YOUR_CLIENT_ID"; +$clientSecret = "YOUR_CLIENT_SECRET"; + +$type = 'authorization_code'; +$keys['code'] = 'YOUR_CODE'; $accessToken = (new \Youzan\Open\Token($clientId, $clientSecret))->getToken($type, $keys); +var_dump($accessToken); + + +// 工具型应用及自用型应用 刷新access_token +$type = 'refresh_token'; +$keys['refresh_token'] = 'YOUR_REFRESH_TOKEN'; + +$accessToken = (new \Youzan\Open\Token($clientId, $clientSecret))->getToken($type, $keys); var_dump($accessToken); diff --git a/src/Open/Token.php b/src/Open/Token.php index 52bcd61..7b110b3 100644 --- a/src/Open/Token.php +++ b/src/Open/Token.php @@ -35,13 +35,14 @@ public function getToken($type, $keys = []) case 'silent': $params['authorize_type'] = 'silent'; $params['grant_id'] = $keys['kdt_id']; + $params['refresh'] = array_key_exists('refresh', $keys) ? boolval($keys['refresh']) : false; break; // 工具型应用获取 token case 'authorization_code': $params['code'] = $keys['code']; $params['authorize_type'] = 'authorization_code'; break; - // 工具型应用刷新 token + // 刷新 token case 'refresh_token': $params['authorize_type'] = 'refresh_token'; $params['refresh_token'] = $keys['refresh_token'];