目前很多的网站中都会存在很多的交互功能,从而降低用户的操作难度,特此带来微信的第三方登录的项目实战功能开发。对于本实例中的开发内容,就不在使用原生的内容,而是直接使用别人写好的封装的类库。

1. 安装 laravel/socialite

composer require laravel/socialite

2). 在你的config/app.php文件中添加以下配置信息

'providers' => [

Laravel\Socialite\SocialiteServiceProvider::class,

],

'aliases' => [

'Socialite' => Laravel\Socialite\Facades\Socialite::class,

],

2. 安装 socialiteProviders/weixin

1). 直接运行以下命令安装扩展包

composer require socialiteproviders/weixin

2). 在你的config/app.php文件中添加以下配置信息

'providers' => [

\SocialiteProviders\Manager\ServiceProvider::class,

],

3). 在你的app/Providers/EventServiceProvider.php文件中添加以下事件处理器

protected $listen = [

\SocialiteProviders\Manager\SocialiteWasCalled::class => [

'SocialiteProviders\Weixin\WeixinExtendSocialite@handle',

],

];

3. 添加配置

1). 在你的.env文件中添加以下配置

WEIXIN_KEY=你的AppID

WEIXIN_SECRET=你的AppSecret

WEIXIN_REDIRECT_URI=你的回调地址

2). 在你的config/services.php文件中添加以下配置

'weixin' => [

'client_id' => env('WEIXIN_KEY'),

'client_secret' => env('WEIXIN_SECRET'),

'redirect' => env('WEIXIN_REDIRECT_URI'),

# 这一行配置非常重要,必须要写成这个地址。

'auth_base_uri' => 'https://open.weixin.qq.com/connect/qrconnect',

],

代码调用

准备工作都完成以后,现在就到了接口对接阶段。

/微信一键登录

Route::get('/weixin', 'WeixinController@weixin')->name('weixin');

Route::get('/weixin/callback', 'WeixinController@weixinlogin');

2). 在你的app/Http/Controllers/WeixinController.php文件里添加以下方法

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use Laravel\Socialite\Facades\Socialite;

use App\User;

use Illuminate\Support\Facades\Auth;

use Illuminate\Support\Str;

class WeixinController extends Controller

{

public function weixin(){

return Socialite::with('weixin')->redirect();

}

public function weixinlogin(){

$user = Socialite::driver('weixin')->user();

// dd($user);

$check = User::where('uid', $user->id)->where('provider', 'qq_connect')->first();

if (!$check) {

$customer = User::create([

'uid' => $user->id,

'provider' => 'qq_connect',

'name' => $user->nickname,

'email' => 'qq_connect+' . $user->id . '@example.com',

'password' => bcrypt(Str::random(60)),

'avatar' => $user->avatar

]);

} else {

$customer = $check;

}

Auth::login($customer, true);

return redirect('/');

}

}

最后就是回调后打印oauthUser的结果

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要戳这里

微信qq一键登录php代码6,Laravel6实现第三方 微信登录相关推荐

  1. android登录操作代码,Android Studio实现第三方QQ登录操作代码

    来看看效果图吧 实现QQ登录了, 新建一个项目工程 ,然后把我们刚才下载的SDK解压将jar文件夹中的jar包拷贝到我们的项目libs中 导入一个下面架包就可以 项目结构如下 打开我们的清单文件And ...

  2. qq满屏飞吻代码_教你用微信隐藏代码表白!各种微信技巧

    阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到文章了.每天都会有分享,都是免费订阅,请您放心关注.注:本文转载自网络,不代表 ...

  3. iOS开发之第三方支付微信支付教程,史上最新最全第三方微信支付方式实现、微信集成教程,微信实现流程

    本章项目demo: https://github.com/zhonggaorong/weixinLoginDemo 本章不讲解: 微信sdk的集成 , 项目集成的文章请参照 (包含微信登录):   h ...

  4. 弹出框口登录php代码,如何用JQuery写出登录弹出框

    类似百度的登录弹出框,可用jquery的fadeIn(),hide(),show(),slideDown()等动画函数实现,一下为html5 代码: $(document).ready(functio ...

  5. android登录程序代码,android 应用软件注册与自动登录代码

    琢磨了很久 实现系统第一次启动显示欢迎及快速注册界面,注册成功后下次运行实现自动登录. 系统启动后首先进入系统主界面,读取用户名和密码,如果为空则直接跳转到快速注册界面,否则系统正常运行. 快速注册界 ...

  6. 畅言单点登录php代码,畅言 - 帮助 - wordpress单点登录教程

    wordpress单点登录教程 WordPress的站长,畅言提供wordpress站点的单点登陆服务,下面是wordpress单点登陆配置的示例. 1.下载wordpress单点登陆插件 2.将wo ...

  7. 微信QQ已经被封了的域名怎么处理 微信QQ已经被封了的域名如何正常打开

    我们做推广的,看到下面图,心里是不是有些烦燥呢?是的一个域名,前期广告推广都推了很久,想到要换域名,客户不知道新的域名,之前花的精力.时间.金钱都是打了水漂,现在QQ,微信是大部分人的日常信息交流平台 ...

  8. aspnet登录界面代码_英雄联盟手游登录问题汇总

    1.出现"无法安装完成"的情况 已经获取了资格,但出现"无法安装完成"的情况,譬如谷歌商店的下载界面一直闪退.下载没进度.卡在安装中.卡在等待中怎么办? 可前往 ...

  9. java 用户登录界面代码_求JAVA实现用户登录界面代码?

    展开全部 你要先学会截图哦e5a48de588b63231313335323631343130323136353331333431373961,你发的看不清楚,重新写了一个你参考参考! import ...

最新文章

  1. mvc登录实例 mysql_spring mvc + mybatis + mysql 调整的一个简单的登录例子
  2. Map-Reduce和分片集合
  3. java微信开发bae_在百度BAE2.0 JAVA环境下搭建属于自己的微信公众平台接口
  4. 【Oracle】如何在查询视图时使用索引
  5. CodeForces - 1036B Diagonal Walking v.2(思维)
  6. 美股,港股和A股三者之间的关系和差别
  7. OJ1019: 公园门票
  8. 输入三科成绩 C语言,c语言,编程,输入一名学生的语文、数学和英语三科成绩,计算并输出三门课程的总成绩...
  9. ddos工具linux,DDoS常用工具大全
  10. awk 第一个文件的数字乘以第二个文件的数字
  11. [转载]INNO Setup 使用笔记
  12. Windows Phone 7 软件体系结构
  13. 彻底卸载McAfee Agent
  14. mybatis(12) mybatis-plus源码分析之sql注入器
  15. Power BI应用案例:淘宝用户行为分析实战
  16. win10计算机如何切换用户名,如何修改电脑用户名,win10系统更改用户名方法
  17. 深信服python开发工程师面试经验,深信服软件工程师面试经验
  18. CloudCompare学习记录(一)主要概念
  19. MXNet对DenseNet(稠密连接网络)的实现
  20. Android 进阶——Framework 核心ANR( Applicatipon No Response)机制设计思想详解

热门文章

  1. android 播放音乐卡顿,Android MediaPlayer+SeekBar播放音频出现卡顿边长可能问题
  2. Python获取文件后缀名
  3. pl/sql连接Oracle数据库的方式
  4. JS中获取地址栏中的参数
  5. android studio真机调试失败,【Android】Android Studio真机调试的问题统整
  6. linux rdma测试,硬件RDMA的驱动配置和测试
  7. PHP判断手机横向,H5横竖屏检测的方法
  8. dell服务器硬盘锁_服务器十大排行
  9. mysql主从复制原理的理解,MySQL主从复制以及原理好理解)
  10. sql 排除 sum为0的_一文为你详解Unique SQL原理和应用