acacha/laravel-social

使用 Laravel Socialite 和 AdminLTE Laravel 包实现社交登录/注册

0.2 2018-03-13 11:08 UTC

README

Latest Version on Packagist Total Downloads Monthly Downloads Daily Downloads Latest Stable Version Software License Build Status Quality Score StyleCI

一个用于实现 OAuth 社交登录/注册的 Laravel 5 包,使用 Laravel socialite 和(可选)AdminLTE Laravel 包

安装

使用 adminlte laravel(推荐选项)

安装 AdminLTE Laravel 包

composer global require "acacha/adminlte-laravel-installer"
laravel new awesome
cd awesome
adminlte-laravel install
adminlte-laravel social

然后您可以使用以下命令在您喜欢的浏览器中启动您的项目:

llum boot

使用 composer

在您的 Laravel 项目中使用 Composer

$ composer require acacha/laravel-social

将服务提供者添加到 config/app.php 文件中的 providers 数组

Acacha\LaravelSocial\Providers\LaravelSocialServiceProvider::class

然后运行以下命令

php artisan make:social

以配置社交网络提供者。

最后修改您的应用视图以添加使用链接的社交登录

http://yourappurl.com/auth/{socialnetwork}

示例

http://yourappurl.com/auth/github
http://yourappurl.com/auth/facebook
http://yourappurl.com/auth/google
http://yourappurl.com/auth/twitter
http://yourappurl.com/auth/linkedin

我建议您使用 AdminLTE Laravel 包 来实现带有 Adminlte 初始模板的完整 Auth 框架。请参阅前面的部分。

您还可以使用 Laravel 默认的 Auth 框架,运行以下命令:

php artisan make:auth

然后手动添加按钮/链接到社交登录/注册。

使用方法

您可以使用以下命令配置社交提供者

php artisan acacha:social
 Which social network you wish to configure? [Github]:
  [0] Github
  [1] Facebook
  [2] Google
  [3] Twitter
  [4] Linkedin
 > 0
  
  Configuring social network Github...
  Please register a new OAuth app for Github. Go to URL https://github.com/settings/applications/new
  Then ask the following questions:
  
   OAuth client id?:
   > 3a1fg6ac5437f9f4cebd
   
   OAuth client secret?:
   > 5919185e3fb7024e5b10cedce5cce408893224d         
   
   OAuth client redirect URL? [https://:8080/auth/github/callback]:
   > 
   
  File /home/sergi/Code/socialAdminLTEtest/config/services.php updated.
  Github added to config/services.php file
  
   Do you wish to configure other social networks? (yes/no) [yes]: 

此向导将适应您的 .envconfig/services.php 文件以添加您的社交网络 OAuth 数据。

目前,命令 php artisan acacha:social 不会检查您是否已经配置了社交网络,因此在已配置的项目中执行此命令时要小心(不会抛出错误,但您将在配置文件中看到重复的数据)。

要求

请安装 AdminLTE Laravel

composer global require "acacha/adminlte-laravel-installer"

此包还需要(所有都使用 composer 安装)

请参阅相关项目

社交网络

Laravel social 包默认支持以下社交网络

  • Github
  • Facebook
  • Google
  • Twitter
  • Linkedin

Laravel social 使用 Illuminate\Support\Manager,因此您可以创建自己的驱动并在 LaravelSocialServiceProvider 中注册该驱动。

如果您创建了新的驱动,请随时创建 Pull Request。

您可以轻松地启用/禁用社交提供者。请参阅以下部分。

启用/禁用社交提供者

LaravelSocialServiceProvider 类中,您可以修改 $enabled 字段以更改启用的社交提供者。同时,请记得更改您的视图以添加/删除社交认证的动作/链接。

您还必须更改文件 ConfigureSocialServicesManager 中的静态变量 $socialNetworks 以添加您的额外社交提供者。

Github

命令行向导将建议您访问以下页面

https://github.com/settings/applications/new

以注册新的 OAuth 应用程序。

Facebook

命令行向导将建议您访问以下页面

https://developers.facebook.com/apps/

以注册新的 OAuth 应用程序。

Google

命令行向导将建议您访问以下页面

https://console.developers.google.com

以注册新的 OAuth 应用程序。请记住激活 Google+ API!。

更多信息请参见 https://developers.google.com/identity/sign-in/web/devconsole-project .

Twitter

命令行向导将建议您访问以下页面

https://apps.twitter.com/app/new

注册新的OAuth应用程序。在密钥和访问令牌选项卡中检索您的API密钥,并记住在权限选项卡中勾选从用户请求电子邮件地址

Linkedin

命令行向导将建议您访问以下页面

https://www.linkedin.com/secure/developer

以注册新的 OAuth 应用程序。

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

测试

在您的Laravel项目中执行

$ phpunit tests/AcachaLaravelSocial.php

贡献

请参阅CONTRIBUTINGCONDUCT以获取详细信息。

安全

如果您发现任何安全问题,请发送电子邮件至sergiturbadenas@gmail.com而不是使用问题跟踪器。

鸣谢

许可

MIT许可(MIT)。请参阅许可文件以获取更多信息。