Laravel 如果开发小程序的 API 后端呢?

由于小程序是授权登陆,只有 code 和 sessionKey ,和 username , password 有区别。怎么实现 api 认证呢?

简洁略带风骚

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

你的问题跟框架无关,和语言也没有关系。用户认证可以使用oauth2.0协议,小程序用的话,jwt就够用了。

其实身份认证的底层逻辑很简单,不要踩在空中楼阁上去写代码。

阮一峰的oauth2.0就类比的很不错。关于jwt,本论坛就有非常多的教程,请自行搜索。

4个月前 评论
讨论数量: 7

你的问题跟框架无关,和语言也没有关系。用户认证可以使用oauth2.0协议,小程序用的话,jwt就够用了。

其实身份认证的底层逻辑很简单,不要踩在空中楼阁上去写代码。

阮一峰的oauth2.0就类比的很不错。关于jwt,本论坛就有非常多的教程,请自行搜索。

4个月前 评论
Epona

通过code 和key 获取到openid, 然后根据openid获取到对应的user, 用jwt就可以了。

4个月前 评论
hareluya

overtrue的easywechat欢迎你。。

4个月前 评论
Hesunfly

如果是新手,可以看下社区出的教程,不过需要花钱购买,上面讲的很详细!如果不想花钱,网上有很多讲解的资料,可以动手试试。其实就是根据openid来区分用户啦,然后生成token,请求时携带就可以啦。

4个月前 评论

首先你把 wx.login 获取的code 和 wx.getSetting 获取的结果合并到一起,发送给你的程序,你的程序验证 wx.login的code获取session_key,如果通过,那么wx.getSetting就是可信的,这时候执行登录,创建你自己的token返回给客户端,登录完成,如果没有这个用户,这时候你可以用wx.getSetting 的结果创建一个新用户,然后创建Token。剩下的就是框架原来的 API 流程了,用获取的Token 请求你自己的接口,该验证验证,该干嘛干嘛。

4个月前 评论

可以参考一下我的项目 https://github.com/Hanson/laravel-admin-we...

src/Http/Controllers/Api/Mini/AuthController.php 为小程序相关的基础接口

4个月前 评论

简单一点讲,就是小程序通过wx.login拿到code,然后小程序带上code通过接口请求后端,后端根据code去微信获取用户的openid 等数据,然后根据openid去数据库查询用户相关信息。再返回给小程序,切记不要给openid等敏感数据给小程序。

4个月前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!