Laravel Socialite


1、简介

除了传统的基于表格的登录认证,Laravel 还使用 Laravel Socialite 提供了一个优雅的流式接口,用于通过 Facebook、Twitter、Google、LinkedIn、GitHub 和 Bitbucket 实现 OAuth 认证。它几乎可以处理所有你恐惧编写的社会化登录认证代码。

我们不接受新的适配器。

社区驱动的其他平台的适配器罗列在Socialite提供者网站上。

要使用社会化登录,需要在 composer.json 文件中添加依赖:

之后运行 composer update 安装依赖。

2、配置

安装完社会化登录库后,在配置文件 config/app.php 中注册 Laravel\Socialite\SocialiteServiceProvider

还要在 app 配置文件中添加 Socialite门面到 aliases 数组:

你还需要为应用使用的 OAuth 服务添加认证信息,这些认证信息位于配置文件 config/services.php,而且对应key为facebooktwitterlinkedingooglegithubbitbucket,配置哪些 key 取决于应用需要的提供者。例如:

3、基本使用

接下来,准备好认证用户!你需要两个路由:一个用于重定向用户到 OAuth 提供者,另一个用户获取认证后来自提供者的回调。我们使用 Socialite 门面访问 Socialite :

redirect 方法将用户发送到 OAuth 提供者,user 方法读取请求信息并从提供者中获取用户信息,在重定向用户之前,你还可以在请求上使用 scope 方法设置”作用域”,该方法将会重写已存在的所有作用域:

当然,你需要定义路由到控制器方法:

很多OAuth提供者在重定向请求中支持可选参数,要在请求中包含可选参数,可以通过一个关联数组调用 with 方法:

使用 with 方法的时候,注意不要传递保留关键字作为数组的key,例如 stateresponse_type

获取用户信息

有了用户实例之后,就可以获取更多用户详情:


<< 上一篇: Laravel Scout

>> 下一篇: 集合