buerxiaojie/laravel-oauth

oauth for laravel. for example, QQ, wechat, github..

1.1.2 2017-08-17 09:44 UTC

This package is auto-updated.

Last update: 2024-04-10 11:07:07 UTC


README

(一)安装

1. 安装:

composer require buerxiaojie/laravel-oauth

2. 注册:

config/app.php 文件的 providers 数组中加入:

  Buerxiaojie\Providers\OauthServiceProvider::class,

config/app.php 文件的 aliases 数组中加入:

  'OauthUser' => Buerxiaojie\Facades\Oauth::class,

app/Providers/AuthServiceProvider.php 文件的 boot 方法中加入:

	use Buerxiaojie\Oauth;

	Oauth::routes();

3. 生成配置文件:

  php artisan vendor:publish

(二)配置

config/oauth.php 文件中配置以下:

  /**
   * 加入以下
   * 
   */
   
  	'qq' => [
		'app_id' => 'YOUR APP ID',
		'app_secret' => 'YOUR APP SECRET',
	],
	'wechat' => [
		'app_id' => 'YOUR APP ID',
		'app_secret' => 'YOUR APP SECRET'
	]
 

(三)使用

1. 在QQ ,微信等平台注册账号,并将回掉地址修改为{YOUR HOST}/oauth/oauth-callback

2. 在app/Oauth/Hander.php文件的handle方法中进行获取用户信息之后的逻辑处理:

	/**
	*业务处理
	*/
	public function handle()
	{
		//$oauthUser 即为获取的用户信息
		$oauthUser = OauthUser::userInfo();

		/**
		*业务处理
		*/
	}

3. 添加新的server

1. 运行一下命令生成server

	php artisan make:oauthServer Github

app/Oauth/Servers/Github.php即可生成。填充相应的方法即可。

2. 在 config/oauth.php 文件中配置以下:

  /**
   * 加入以下
   * 
   */
   'servers' => [
		'github' => 'App\Oauth\Servers\Github',
	],
   

  'github' => [
		'app_id' => 'YOUR APP ID',
		'app_secret' => 'YOUR APP SECRET',
	]
 

3. 在页面中放置请求链接:

	<a href="/oauth/oauth-login?server=github"><img src=""></a>

4. 若自定义回掉地址,则在对应的回掉方法中通过以下方法获取用户信息:

	use OauthUser;

	public function oauthCallback(Request $request)
	{
		$userInfo = OauthUser::getUserInfo($request);

		/**
		* 其他业务逻辑
		*/
	}