laravel socialite
4.1.0
$ composer require "overtrue/laravel-socialite"
如果您已经安装了
overtrue/socialite
软件包,请在执行此命令之前将其从composer.json
中删除。
config/socialite.php
或config/services.php
配置文件中,并且应使用密钥 facebook、twitter、linkedin、google、github 或 bitbucket,具体取决于您的应用程序所需的提供商。例如: <?php
return [
//...
' github ' => [
' client_id ' => ' your-app-id ' ,
' client_secret ' => ' your-app-secret ' ,
' redirect ' => ' http://localhost/socialite/callback.php ' ,
],
//...
];
<?php
namespace App Http Controllers ;
use Socialite ;
use Illuminate Http Request ;
use Illuminate Routing Controller ;
class AuthController extends Controller
{
/**
* Redirect the user to the GitHub authentication page.
*/
public function redirectToProvider ()
{
return redirect ()-> to (Socialite:: create ( ' github ' )-> redirect ());
}
/**
* Obtain the user information from GitHub.
*/
public function handleProviderCallback ( Request $ request )
{
$ user = Socialite:: create ( ' github ' )-> userFromCode ( $ request -> query ( ' code ' ));
// $user->getId();
// $user->getNickname();
// ...
}
}
并注册路线:
Route:: get ( ' /oauth/github ' , ' AuthController@redirectToProvider ' );
Route:: get ( ' /oauth/github/callback ' , ' AuthController@handleProviderCallback ' );
更多用法请参考overtrue/socialite。
如果你喜欢我的项目并想支持它,点击这里❤️
非常感谢 Jetbrains 慷慨地为我提供了从事此项目和其他开源项目的许可证。
想知道如何从零开始构建 PHP 扩展包?
请关注我的实战课程,我会在本课程中分享一些扩展包开发经验——《PHP扩展包实战教程 - 从入门到发布》
麻省理工学院