Lumen上的Laravel Socialite:凭证不会沿着

问题描述:

发送

我正在尝试使用Lumen上的laravel/socialite实现社交登录。这是第一次登录步,控制器:Lumen上的Laravel Socialite:凭证不会沿着

public function loginLinkedin() 
    { 
    return Socialite::driver('linkedin')->redirect(); 
    } 

的凭据存储在.ENV配置文件:

LINKEDIN_ID=123whatever 
LINKEDIN_SECRET=123whatever 
LINKEDIN_URL=http://localhost/linkedin 

当我访问我的链接,控制器重定向我LinkedIn,但我简单地得到一个红色的徽章说:

客户端代码丢失。有必要提供 的客户端代码以便继续。

我怀疑laravel/socialite无法从.env文件获取我的凭据。我想念什么?

这似乎是与流明相关的一般性问题。通常我会看到许多包含一些“config/blabla.php”配置文件的Laravel软件包,但我没有看到如何在Lumen上安全地实现这种配置。

感谢约瑟夫的回答,我想出了一个解决方案 - 没有写一个新的经理。

整个问题的关键是能否读取Lumen上的配置文件,因为微框架通常会从.env文件中检索所有配置数据。

第一步是编辑/ vendor/laravel/socialite/src下的原始SocialiteManager.php,以便使用getenv()命令从.env文件中检索Linkedin配置。有效!我到达Linkedin身份验证表单并能够正确登录,并返回到回调URL。

所以现在的问题是删除SocialiteManager.php上的编辑并保持原来的。我如何阅读存储Linkedin配置的/config/services.php文件?

以下后前来救援:https://laracasts.com/discuss/channels/lumen/cant-get-config-data-in-lumen

它说,这是可能加载按照以下步骤定期Laravel配置文件(/ config下):

  • 上/引导/应用程序。 php,取消注释(或添加)该行:

    $ app-> register('App \ Providers \ AppServiceProvider');

  • 上的应用/供应商/ AppServiceProvider.php,在寄存器()函数填写:

    公共功能寄存器(){ $ 这 - > APP->配置( '服务'); }

现在它工作!

我们的Socialite Providers支持流明开箱,具有适当的配置。我们直接从.env

解析环境变量