quot;unable to get local issuer certificatequot; when trying to access Microsoft Graph(尝试访问Microsoft Graph时无法获取本地颁发者证书(Q))
本文介绍了尝试访问Microsoft Graph时无法获取本地颁发者证书(&Q)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要将我的Symfony4应用程序配置为使用msgraph-sdk-php库阅读和发送电子邮件。
我的第一次体验是这段代码:
$guzzle = new GuzzleHttpClient();
$url = 'https://login.microsoftonline.com/' . $tenantId . '/oauth2/token?api-version=1.0';
$token = json_decode($guzzle->post($url, [
'form_params' => [
'client_id' => $clientId,
'client_secret' => $clientSecret,
'resource' => 'https://graph.microsoft.com/',
'grant_type' => 'client_credentials',
],
'verify' => false
])->getBody()->getContents());
$accessToken = $token->access_token;
$graph = new Graph();
$graph->setAccessToken($accessToken);
try {
$user = $graph->createRequest("GET", "/me")
->setReturnType(User::class)
->execute();
} catch (GraphException $e) {
$user=(object) ['getGivenName'=>$e->getMessage()];
}
return "Hello, I am $user->getGivenName() ";
但随后symfony向我显示了一个例外页面,并显示以下消息:
cURL错误60:SSL证书问题:无法获取本地颁发者证书
我应该做些什么来克服这个问题?
推荐答案
在Windows系统上,cURL有时无法访问CA-Certs。因此,您必须下载CA-Files并将其添加到Curl。您可以在此处下载证书:
http://curl.haxx.se/docs/caextract.html
curl_setopt($ch, CURLOPT_CAINFO, __DIR__ . "/certs/cacert.pem");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
因此,若要临时修复该问题,您可以禁用对等验证,但您应该仅针对测试执行此操作。
$client->setDefaultOption('verify', false);
那么应该可以连接。若要添加证书,您可以将其添加到以下位置,但您必须先下载证书。
$client = new GuzzleHttpClient();
$client->setDefaultOption('verify', 'curl-ca-bundle.crt');
或最后一个解决方案将ca文件添加到您的php.ini
(来自curl.haxx.se的文件):
curl.cainfo = "[pathtothisfile]cacert.pem"
这篇关于尝试访问Microsoft Graph时无法获取本地颁发者证书(&Q)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:尝试访问Microsoft Graph时无法获取本地颁发者证书
基础教程推荐
猜你喜欢
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01
- PHP 守护进程/worker 环境 2022-01-01
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- 使用 PDO 转义列名 2021-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01