Socialiate 插件在 Laravel 中提供了 OAuth 的实现,但它的设计似乎主要是为了让他们不必在您自己的网站上创建用户帐户。
我正在制作一个帮助管理他们的 Youtube 帐户的应用程序,这意味着身份验证请求的范围更广泛(很容易更改),但我还需要刷新令牌(而不是访问令牌)才能长期访问他们的帐户。
Laravel 是否有一个包已经可以处理这个问题了?我一直没能找到,但也许我正在寻找错误的东西。
如果不是,我应该如何处理这个问题?当我编写与 Youtube API 交互的代码时,我是否只需要检查访问令牌是否已过期,如果是,则编写一个函数来执行 HTTP 请求,以使用我存储在的刷新令牌获取新的令牌数据库?我想还可以扩展 Socialite 来检索刷新令牌?
我觉得一定有一种更好的方法,不需要我重新发明轮子。
自从上次访问这个问题以来已经有一段时间了,看到这是第一个 Google 结果,我想说:现在社交名流可以做到这一点。
当您将用户重定向到 Google 时,请设置access_type
to offline
与with()
重定向时的方法,如下所示:
return Socialite::driver('google')
->scopes() // For any extra scopes you need, see https://developers.google.com/identity/protocols/googlescopes for a full list; alternatively use constants shipped with Google's PHP Client Library
->with(["access_type" => "offline", "prompt" => "consent select_account"])
->redirect();
这将使 Google 返回一个刷新令牌。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)