zoukankan      html  css  js  c++  java
  • 微信扫码登陆

    应用场景

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

    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>";
    

    请求后会跳转到扫码页面

    手机扫码

    授权登陆成功

  • 相关阅读:
    C++中所有的变量和函数都必须有类型
    C++中struct类型增强
    C++对C语言的变量检测增强
    C++对C语言register的增强
    C++对C的实用性增强
    namespace命名空间
    文件操作:fseek函数和ftell函数
    最大子序和
    雪花雪花雪花(Hash思想)
    暑假集训-8.01总结
  • 原文地址:https://www.cnblogs.com/weblm/p/15077573.html
Copyright © 2011-2022 走看看