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->配置( '服务'); }
现在它工作!