如何在 Laravel 中为 azure 添加服务条目

How to add service entry for azure in Laravel

我想添加 Microsoft Azure 作为身份验证方法。我已经按照 laravel 和社会名流的文档添加了 laravel 提供的其他方法。

我已按照所有步骤操作,但我一直收到错误消息:

"SocialiteProviders \ Manager \ Exception \ MissingConfigException
There is no services entry for azure"

app.php:

'providers' => [
    /*
     * Laravel Framework Service Providers...
     */
    // Some more providers

    \SocialiteProviders\Manager\ServiceProvider::class,

],

'aliases' => [
    'Socialite' => Laravel\Socialite\Facades\Socialite::class,

],

EventServiceProvider.php:

    protected $listen = [
    Registered::class => [
        SendEmailVerificationNotification::class,
    ],
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        'SocialiteProviders\Azure\AzureExtendSocialite@handle',
    ],

];

services.php:

'azure' => [
    'client_id' => 'MY_ID',
    'client_secret' => 'MY_SECRET',
    'redirect' => 'http://localhost:8000/login/azure/callback',
],

登录控制器:

public function redirectToProvider()
{
    return Socialite::with('azure')->redirect();
}

/**
 * Obtain the user information from GitHub.
 *
 * @return \Illuminate\Http\Response
 */
public function handleProviderCallback()
{
    $user = Socialite::with('azure')->user();

    // $user->token;
}

我在互联网上找不到关于这个问题的任何信息。 它似乎没有读取 services.php 中的 "azure" 条目,但我不知道如何修复它。

编辑:是的,我已经用 composer 安装了所有东西。

据我所知,这是否与您的配置缓存有关。在这里你必须运行 php artisan config:clear,这将删除配置的缓存。