关于 passport client_credentials 模式 需要登录问题?
passort client_credentials模式的时候,为什么要求登录呢 能跳过登录验证吗 因为写接口只是用于第三方系统调用。不需要用户认证。用curl 测试已经能拿到token
/初始化
$url = "http://xxx/OAapi/public/index.php/oauth/to...";
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, $url);
//设置头文件的信息作为数据流输出
// curl_setopt($curl, CURLOPT_HEADER, 1);
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//设置post方式提交
curl_setopt($curl, CURLOPT_POST, 1);
//设置post数据
$post_data = array(
"grant_type" => "client_credentials",
"client_id" => "3",
"client_secret" => "eVRhG7tbCUHBF1EOD5PCOI2XKjcTEvL7QJkOVYOA",
);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
//执行命令
$data = curl_exec($curl);
$data = json_decode($data,1);
//关闭URL请求
curl_close($curl);
$access_token = $data['access_token'];
写一个upload 接口 用curl 测试,会要求输入用户名和密码验证。
$url = "http://xxxx/OAapi/public/index.php/api/upl...";
$post_data = array(
"file" => "111",
"module" => "workflow"
);
$headers = array(
'Authorization'=>'Bearer '.$access_token,
'Accept'=>'application/json',
);
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//设置post方式提交
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
//执行命令
$data = curl_exec($curl);
print_r($data);
//关闭URL请求
curl_close($curl);
QQ20180715-183137.png
推荐文章: