php - PHP 中的 Azure 身份验证错误

标签 php azure oauth-2.0 magento2

我在 Azure 身份验证中收到以下错误。请帮助我理解同样的内容。

Fatal error: Uncaught exception 'League\OAuth2\Client\Provider\Exception\IdentityProviderException' with message 'invalid_client' in /var/www/html/active/vendor/league/oauth2-client/src/Provider/GenericProvider.php:216 Stack trace: #0 /var/www/html/active/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(644): League\OAuth2\Client\Provider\GenericProvider->checkResponse(Object(GuzzleHttp\Psr7\Response), Array) #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...',

Array) #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} thrown in /var/www/html/active/vendor/league/oauth2-client/src/Provider/GenericProvider.php on line 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

请帮忙。

最佳答案

Microsoft 使用首次使用的客户端 ID 自动登录。如果是错误的,即使在 .env 文件中更新,它也总是会抛出此错误。如何克服这个问题?

  1. 转到Apps & Services
  2. 针对您尝试登录的应用点击编辑
  3. 点击删除这些权限按钮
  4. 尝试再次进行身份验证

关于php - PHP 中的 Azure 身份验证错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49690419/

相关文章:

sql - SQL Reporting Services 是否可与 Azure 或任何其他 Azure 新推出的报告服务一起使用?

java - servlet url 作为 strava 授权回调域无效

Spring Cloud - 如何仅允许访问特定微服务的端点?

oauth-2.0 - 允许用户使用 Google 帐户登录我的网站,无需 3d 派对 cookie

php 正则表达式最小和最大数字长度

php - 如何将 &lt;!--more--> 标签添加到所有 wordpress 帖子?

具有托管身份的 Azure SQL - Bicep

php - 如何使用 PHP GD 库向图像添加文本

php - ssh2_auth_password 即使密码错误也总是返回 true

.net - Azure Service Fabric - 使用自定义服务删除 Actor