Microsoft Azure AD身份验证:invalid_request:输入参数“ redirect_uri”的提供的值无效

时间:2019-11-18 10:02:55

标签: laravel azure authentication

我已经设置了azure AD,以使用其laravel应用程序进行身份验证。 错误: Microsoft身份验证:invalid_request:输入参数'redirect_uri'的提供的值无效。期望值是一个与为此客户端应用程序注册的重定向URI匹配的URI。

但是,我遇到以下问题。 在Azure中,我已将重定向URL设置为例如google.com或https://mydomainn.com/mydirectory,但它始终告诉我相同的错误。 也许它的代码相关? 如果是这样,这是我唯一的一段代码

    @php
session_start();

$config = [
    'authentication' => [
        'ad' => [
            'client_id' => 'REMOVED FOR THIS POST',
            'client_secret' => 'REMOVED FOR THIS POST',
            'enabled' => 'yes',

        ]
    ]
];

$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->getPreferredUsername() . '<Br />';
@endphp

基本上发现了herehere这块小魔法 只是通过composer安装它,然后从仓库中复制粘贴此代码,它应该可以工作,但是,嗯……有人知道如何解决该错误吗?

edit:我不断重定向到的url是一个错误,我的索引页位于uri参数中。连我指定的那个都没有 编辑: 如果我在浏览器中手动编辑重定向URL,它将起作用。所以可以说我去了mydomain.com,它将我重定向到

https://login.live.com/oauth20_authorize.srf?client_id=clientidhere&scope=profile+openid+email+offline_access+User.Read&redirect_uri=https%3a%2f%2fwww.mydomain.de%2fdirectory%2ffolder%2fpublic%2f&response_type=code&state=...

然后它不起作用,如果我将%2fwww.mydomain.de%2fdirectory%2ffolder%2fpublic更改为https://www.mydomain.de/directory/folder/public,则它可以工作。我只能在地址栏中直接这样做。

0 个答案:

没有答案