• 周四. 6月 30th, 2022

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

微信扫码登陆

admin

11月 28, 2021

应用场景

登陆网站的常规方式有三种:

  1. 账号密码登陆
  2. 手机号短信验证码登陆
  3. oauth2授权登陆
    授权登陆有QQ登陆、新浪微博登陆、GitHub授权登陆、微信授权登陆等,微信授权登陆有
  • 通过微信开放平台
  • 通过认证的微信服务号
  • 通过认证的微信订阅号
    接下来以微信开放平台为例说说微信扫描登陆的实现

实现思路

基于微信开放平台网站扫码登录的接口,详细链接

https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html

实现方法

准备AppID和AppSecret,以及授权回调域名。以PHP为例 授权回调域名为 xxxx.com请求地址为:https://xxxx.com/login.php,回调地址为https://xxxx.com/oauth.php

//login.php
<?php
ini_set('display_errors', 'On');
$state = md5(uniqid(microtime(true),true));

$appid = "微信开放平台AppID";
$redirect_uri = urlencode("https://xxxx.com/oauth.php");
$scope = "snsapi_login";
//拼接参数进行自动跳转
echo "<script>location.href="https://open.weixin.qq.com/connect/qrconnect?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=$scope&state=$state#wechat_redirect";</script>";
//oauth.php
<?php
header("Content-type:text/html;charset=utf-8");
//获取code
$code = $_GET["code"];
//通过接口获取access_token
//构造请求参数
$appid = "微信开放平台AppID";
$appsecret = "微信开放平台AppSecret";
//拼接参数,自动跳转
echo "<script>location.href="https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$appsecret&code=$code&grant_type=authorization_code";</script>";

请求后会跳转到扫码页面

手机扫码

授权登陆成功

发表评论

您的电子邮箱地址不会被公开。