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

    请求后会跳转到扫码页面

    手机扫码

    授权登陆成功

  • 相关阅读:
    激活函数(ReLU, Swish, Maxout)
    损失函数
    md5sum命令行使用注意事项
    Jetson ARM SeetaFace编译
    Linux下的wine生活(QQ/微信/Office)
    人脸识别引擎SeetaFace编译 ubuntu
    Python为8bit深度图像应用color map
    MySQL、MongoDB、Redis数据库Docker镜像制作
    bash的管道符与重定向
    Docker 及 nvidia-docker 使用
  • 原文地址:https://www.cnblogs.com/weblm/p/15077573.html
Copyright © 2011-2022 走看看