手机版

laravel5实现微信第三方登录功能

时间:2021-08-28 来源:互联网 编辑:宝哥软件园 浏览:

背景

最近手头一个项目需要实现用户在网站的第三方登录(微信和微博),后端框架laravel5.4。

实现过程以微信网页版第三方登录,其他于此类似,在此不做重复。

准备工作

网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。在进行微信OAuth2 .在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的应用编号和AppSecret,申请微信登录且通过审核后,可开始接入流程。

总结下来就是:

1.进入微信开放平台注册开发者账号2.根据项目类型创建应用,再此我创建的是网站应用.3.接入微信登陆功能,让用户可使用微信登录你的网站应用4.获得应用编号和AppSectet

到此微信第三方登录的准备工作就完成了。

授权流程说明

1.第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据密码参数;2.通过密码参数加上应用编号和密钥等,通过应用程序接口换取access _ token3。通过访问令牌进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

在框架中实现(拉弗尔)

社交名媛简介

除了传统的基于表单的登录认证外拉威尔还可以通过社交名媛提供OAuth认证,目前支持的认证驱动包括脸书、推特、谷歌、领英、微博和比特桶。

安装相关依赖

作曲家需要拉弗尔/社会名流

安装微信-网络

作曲家需要社交提供者/微信-网络

注意网站实现微信登录需要的依赖包为社交提供者/微信-网络,如果是手机端应用那么可以用社交提供者/微信。

[电子邮件受保护]:/var/www/html/zslm _ back $ composer搜索社交提供商/微信微信oauth 2 Laravel社交提供商/微信-Web Weixin-Web oauth 2 Laravel社交提供商/微信微信oauth 2 Laravel社交提供商/微信Weixin oauth 2 Laravel社交提供商相关配置

1.设置app/config.php

添加提供商:

providers '=[socateproviders \ Manager \ service providers :3360类,],添加别名:

别名=[' sociate '=Laravel \ sociate \ Facades \ sociate : class,],2 .配置config/services.php

WEIXIN web '=[' client _ id '=env(' WEIXIN _ KEY '),' client _ SECRET '=env(' WEIXIN _ SECRET '),' REDIRECT '=env(' WEIXIN _ REDIRECT _ URI '),],3 .设置应用/提供商/事件服务提供商。服务器端编程语言(Professional Hypertext Preprocessor的缩写)

添加事件监听

使用社交提供程序\管理器\社交被调用;受保护的$ listen=[' sociateproviders \ Manager \ sociate被调用'=[' sociateproviders \ WeixinWeb \[电子邮件保护]',],];4.添加路由

路由: get(' auth/weixin ',' Auto \ ThirdLogin \[email protected]');路由: get(' auth/weixin/callback ',' Auto \ ThirdLogin \[email protected]');5.编写微信滚轮

?php/** *由PhpStorm创建。*用户:雷珊*日期: 1/6/2017 *时间: 11:34AM */命名空间应用\ Http \控制器\自动\第三方登录;使用名媛;使用照明\ Http \请求使用app \ Http \ Controller \ Controller;使用社交网络提供者\微信网络\提供者;类weixinctorr扩展了控制器{公共函数redirectto提供程序(Request $ Request){ return sociate :3360与(' weixin web ')-redirect();}公共函数handleProviderCallback(Request $ Request){ $ user _ data=sociate :3360与(' weixin web ')-无状态()-用户();DD($ user _ data);}}访问auth/微信,获得返回数据。

常见错误

1.微信授权回调域不符(重定向_uri不符),参见下面规范:

2.执行过程中出现一下错误:

异常' Laravel \ sociate \ Two \ invalidstatexception '在/示例/供应商/Laravel/sociate/src/Two/abstract provider . PHP :161

解决方法:

无状态()方法禁止会话状态验证

社交名媛:驱动程序(' weixin web ')-无状态()-用户()摘要

如上所述,边肖推出的laravel5实现了微信的第三方登录功能,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

版权声明:laravel5实现微信第三方登录功能是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。