前后端分离 微信授权怎么生成自己应用的 API Token

项目情况

目前项目是前后端分离,前端是vue项目,后端是laravel框架开发

业务需求

业务主要是在微信公众号H5网页里面通过微信授权获取用户的openid 昵称 头像等信息,目前openid以及微信的信息可以获取到,但是怎么返回自己应用的token供前端使用,下次请求后端接口的时候直接携带这个token去进行相关业务的操作,之前正常的用户登陆逻辑是先用户名密码登陆,登陆成功后返回前端token,目前把登陆这一步替换成了授权成功获取用户信息后返回token,看了社区的帖子感觉用jwt可以去写接口,想听取下各位大佬的意见,给小弟指点迷津

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

前端通过微信授权获取 code,然后请求服务端换取用户信息,接下里就是服务端就根据你的用户信息生成 token 返回给你。

5年前 评论
Epona

JWT就可以

5年前 评论

微信授权后可以基于这些信息(可以把openid当作一个key)创建或者关联自己的用户,自己的后端向vue前端分发的是自己的user的token,具体方法各异,目前最新的laravel8推荐用Sanctum,如果只有一个前端也可以用。

如果微信授权只来自一个公众号,可以把openid等信息存在user表里,如果来自多个,则需要扩展一个social表来存储,参考Socialite,而自己发放的token,如果不区分多端,可以存在user表里,如果区分多端,则用Sanctum来存到另一个表里。当然,如果是jwt的话,用户表可以不保留token,jwt自己验证这个token。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!