PHP 中的 Azure 身份验证错误
Posted
技术标签:
【中文标题】PHP 中的 Azure 身份验证错误【英文标题】:Error on Azure Authentication in PHP 【发布时间】:2018-09-16 08:12:25 【问题描述】:我在 Azure 身份验证中遇到以下错误。请帮助我理解这一点。
致命错误:未捕获的异常 'League\OAuth2\Client\Provider\Exception\IdentityProviderException' 带有消息'invalid_client' /var/www/html/active/vendor/league/oauth2-client/src/Provider/GenericProvider.php:216 堆栈跟踪:#0 /var/www/html/active/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(644): League\OAuth2\Client\Provider\GenericProvider->checkResponse(Object(GuzzleHttp\Psr7\Response), 阵列)#1 /var/www/html/active/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(560): League\OAuth2\Client\Provider\AbstractProvider->getResponse(Object(GuzzleHttp\Psr7\Request))
2 /var/www/html/active/src/Delegates/Receive.php(82): League\OAuth2\Client\Provider\AbstractProvider->getAccessToken('authorization_c...',
数组)#3 /var/www/html/active/src/ActiveDirectory.php(180): Magium\ActiveDirectory\Delegates\Receive->execute() #4 /var/www/html/active/index.php(25): Magium\ActiveDirectory\ActiveDirectory->authenticate() #5 main 投入 /var/www/html/active/vendor/league/oauth2-client/src/Provider/GenericProvider.php 在第 216 行
我有以下代码
<?php
ini_set('display_errors', 1);
require_once 'vendor/autoload.php';
session_start();
$config = [
'authentication' => [
'ad' => [
'client_id' => 'xxx',
'client_secret' => 'xxx',
'enabled' => '1',
'directory' => 'common'
]
]
];
$request = new \Zend\Http\PhpEnvironment\Request();
$ad = new \Magium\ActiveDirectory\ActiveDirectory(
new \Magium\Configuration\Config\Repository\ArrayConfigurationRepository($config),
Zend\Psr7Bridge\Psr7ServerRequest::fromZend(new \Zend\Http\PhpEnvironment\Request())
);
$entity = $ad->authenticate();
echo $entity->getName() . '<Br />';
// echo $entity->getOid() . '<Br />';
echo $entity->getPreferredUsername() . '<Br />';
网址:https://github.com/magium/active-directory
请帮忙。
【问题讨论】:
您是否要获取access_token
?您使用的是哪个crm?
我正在尝试使用 Microsoft 身份验证 API 登录,但出现此错误。请参考github.com/magium/active-directory
【参考方案1】:
Microsoft 使用首次使用的客户端 ID 自动登录。如果是错误的,即使在.env
文件中更新,它也会一直抛出这个错误。如何克服?
-
转到Apps & Services页面
针对您尝试登录的应用点击编辑
点击删除这些权限按钮
再次尝试验证
【讨论】:
以上是关于PHP 中的 Azure 身份验证错误的主要内容,如果未能解决你的问题,请参考以下文章
Unity for Android 中的 Azure AD 身份验证出错
Hashicorp Vault OIDC 身份验证方法与 Azure AD 错误验证签名
ASP.NET Core 2.2 中的 Azure AD 身份验证