繁体   English   中英

Laravel社交名流配置访问类型在谷歌登录中为离线

[英]Laravel socialite config access type as offline in google login

好吧,我正在尝试在 laravel 5.1 中使用 socialite 实现使用 google 登录,并且我在范围方面没有问题,但我需要将 access_type 实现为离线,有人知道,我如何在 socialite 中为 laravel 配置它?

这是我的连接线

$scopes = [
        'https://www.googleapis.com/auth/plus.me',
        'https://www.googleapis.com/auth/plus.profile.emails.read',
        'https://www.googleapis.com/auth/gmail.readonly'

    ];
    return Socialize::driver('google')->scopes($scopes)->setAccessType('offline')->redirect();

感谢您的帮助

也许自上次回答这个问题以来的更新; 看起来泰勒添加了传递可选参数的功能。 使用关联数组调用with方法:

$scopes = [
    'https://www.googleapis.com/auth/plus.me',
    'https://www.googleapis.com/auth/plus.profile.emails.read',
    'https://www.googleapis.com/auth/gmail.readonly'
];
$parameters = ['access_type' => 'offline'];
return Socialite::driver('google')->scopes($scopes)->with($parameters)->redirect();

我玩有关使用Gmail的API时,仅昨天从字面上有这个问题。

我假设您想为已通过身份验证的用户获取刷新令牌。 我找不到在 Socialite 中本地执行此操作的方法(我不确定您从何处获取setAccessType()方法,因为它在 Google 或抽象提供程序类中不存在)。

最后,我只是临时更改了getAuthUrl()方法返回的字符串以在末尾添加查询字符串参数,通过身份验证过程,然后还原文件(以免下次我更新时 Composer 向我抱怨)。

这不是一个理想的解决方案,但如果您只是想重新验证自己,希望它会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM