PC网站接入微信登陆流程四:后端处理登陆后的code,和获取微信登陆用户的信息

1、文档在这里 ==>> 授权后接口调用(UnionID)

2、前端登陆成功后,需要提交code给后端,后端接受到请求后,进行处理,下面的例子均为Python版本

  1. 第一步:通过code获取access_token,unionid和openid,请求方式GET,请求示例:

    https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

    ```
    	# 获取unionid
        server = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={appid}&secret={secret}&code={code}&grant_type=authorization_code".format(
            appid = qingguo_appid, secret = qingguo_appsecret, code = args['code']
        )
        r = requests.get(server)
        result = json.loads(r.text)
    ```
    

    在这里插入图片描述

  2. 第二步,用第一步获取到的openid和access_token获取用户登陆信息,这里要注意的是,这个接口过来的数据编码是ISO-8859-1,不处理一下的话中文是会乱码的,请求方式GET,请求示例:

    https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

    server1 = "https://api.weixin.qq.com/sns/userinfo?access_token={token}&openid={openid}&lang=zh_CN".format(token = result['access_token'], openid = result['openid'])
    r1 = requests.get(server1)
    memberInfo = json.loads(r1.text.encode('ISO-8859-1'))
    

3、后端设计思路

  1. 第一点:项目没有自己的账号模块,可以使用微信的unionid或openid作为项目的账号,承载信息;
  2. 第二点:项目有自己的账号模块,可以先用扫码对平台账号和微信账号进行绑定,扫码登陆时就可以以对应的平台账号进行登陆
  3. 第三点:项目有自己的账号模块,可以扫码登陆后自动创建一个账号并进行绑定,下次扫码登陆时就可以以对应的平台账号进行登陆**

4、PC网站接入微信登陆流程,后端方面完毕

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 很高兴能为您服务!我为您编写的Spring Boot后端代码如下:// 获取微信用户权限信息 @RequestMapping(value = "/user/auth", method = RequestMethod.GET) public ResponseEntity<AuthResult> getUserAuthInfo(){ // 获取微信用户信息 AuthResult result = wechatService.getUserAuthInfo(); return new ResponseEntity<>(result, HttpStatus.OK); } ### 回答2: 当编写小程序的后端代码时,可以使用Spring Boot框架来实现微信用户权限的获取。 首先,你需要在微信开放平台上注册一个小程序,并在小程序的设置中添加服务器域名。 然后,创建一个Spring Boot项目,并添加相关依赖,如Spring Web、Spring Data JPA等。 接下来,你需要编写一个Controller来处理微信授权请求。在该Controller中,你需要实现以下功能: 1. 创建一个接口用于发起微信授权登录,其中包括小程序的appid、secret、code等参数。 2. 根据传入的code参数,使用微信提供的API获取用户的openid和session_key。 3. 根据openid和session_key,生成一个token并返回给小程序端。 4. 将获取到的openid和session_key保存到数据库中,以便后续的用户登录验证。 下面是一个简单的示例代码,供参考: ```java @RestController @RequestMapping("/wechat") public class WechatController { @Autowired private UserRepository userRepository; @PostMapping("/login") public ResponseData login(@RequestBody LoginRequest request) { String appid = request.getAppid(); String secret = request.getSecret(); String code = request.getCode(); // 调用微信API获取openid和session_key String openid = WechatApiUtils.getOpenid(appid, secret, code); // 生成token String token = TokenUtils.generateToken(openid); // 保存openid和session_key到数据库 userRepository.save(new User(openid, sessionKey)); // 返回token给小程序端 return ResponseData.success(token); } } ``` 在上述代码中,我们使用了一个UserRepository来保存用户的openid和session_key。你需要根据实际需求来创建和使用数据库。 另外,你还需要编写一些工具类来处理微信API的调用、token的生成等操作。例如,WechatApiUtils类可以封装微信API的调用逻辑,TokenUtils类可以实现Token的生成和验证逻辑。 以上只是一个简单的示例,实际的需求可能更为复杂,你可以根据自己的需求进行相应的改进和扩展。希望能对你有所帮助! ### 回答3: 对于获取微信用户权限信息后端代码,可以使用Spring Boot框架来实现。 第一步,搭建基本的Spring Boot项目结构。创建一个Spring Boot项目,并引入相应的依赖。 第二步,配置微信登录相关的信息。在application.properties(或者application.yml)文件中配置appId、appSecret和redirectUrl等信息。 第三步,创建一个Controller用于处理微信用户权限信息的请求。可以使用@RestController注解来标识该类为Controller。 第步,编写获取微信用户权限信息的接口。使用@RequestMapping注解来标识接口路径,并实现相应的业务逻辑。 第五步,编写获取微信用户权限信息的具体逻辑。可以使用HttpClient或者RestTemplate等工具发送HTTP请求,并携带相应的参数,获取微信用户权限信息。 第六步,返回获取到的微信用户权限信息。将获取到的信息封装成一个自定义的返回对象,并使用@ResponseBody注解将返回对象转换为JSON格式返回前端。 最后,启动Spring Boot应用,并使用微信小程序访问相关接口,即可获取微信用户权限信息。 总结:以上是一个简单的实现微信用户权限信息获取后端代码示例,具体的实现逻辑可能还需要根据实际需求进行调整和完善。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值