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 身份验证

403.60 - 使用 Azure 移动应用对 Cordova 进行身份验证时出现禁止错误

Azure 应用服务中的 LDAP 身份验证失败

Api 的自定义身份验证 Azure 移动服务