pc端web网站使用第三方微信登录流程(web、js)

这篇具有很好参考价值的文章主要介绍了pc端web网站使用第三方微信登录流程(web、js)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。

网站接入准备工作
  1. 微信开放平台注册开发者账号,点击查看操作指引;
  2. 微信开放平台-管理中心-创建网站应用并通过审核;
  3. 通过审核后可以获得相应的AppID和AppSecret;
  4. 应用申请微信登录且通过审核后,可开始接入流程。

微信用户授权登录接入微信OAuth2.0的第三方应用后,第三方应用可以获取到用户的接口调用凭证(access_token),通过access_token可以进行微信开放平台授权关系接口调用。那么实现微信授权第三方登录的最终目的就是拿到access_token,点击查看微信官方文档说明。

如何获取access_token
1. 请求CODE

第三方使用网站应用授权登录前请注意已获取相应网页授权作用域(scope=snsapi_login),则可以通过在PC端打开以下链接: https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

这个链接打开后是一个带有二维码的页面(如图):
pc对接微信登录,前端,微信,javascript
AppId: 应用id
scope: 网页端填写snsapi_login
redirect_uri: 用户在微信上点击允许授权后微信回调的地址,该地址的域名需要与创建应用时填写的授权域名保持一致,建议使用encodeURIComponent进行转码
state: 用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验

注:若提示“该链接无法访问”,请检查参数是否填写错误,如redirect_uri的域名与审核时填写的授权域名不一致或scope不为snsapi_login。

2. 用户允许授权后,网页会重定向到回调地址redirect_uri,并携带code和state参数,跳转的方式可以通过传参self_redirect: boolean控制

为true时,手机点击确认登录后可以在 iframe 内跳转到 redirect_uri,为false时,手机点击确认登录后可以在 top window 跳转到 redirect_uri。默认为 false。

3.获取access_token

将code、state传给后端,后端通过code、appId、appSecrect调用微信API获取access_token,完成登录,参考文档

思考:如何在网页内实现内嵌二维码的方式实现微信授权登录
  1. 按照上面的流程,将链接在网页中通过iframe标签的方式打开,并传递self_redirect=true实现登录后在iframe内实现回调重定向。

  2. 官方提供的通过js的方式获取code,但其实我发现最终的效果其实跟方法1几乎一样,通过js的方法创建对象其实也就是在对应的div下插入了一个iframe标签,如下图所示:
    pc对接微信登录,前端,微信,javascript
    效果图:
    pc对接微信登录,前端,微信,javascript

  3. 如果想仅显示二维码,可以设置iframe的样式,并对外层div设置固定大小,并加上overflow:hidden

.login-container {
    width: 200px;
    height: 200px;
    overflow: hidden;
    iframe {
      transform: scale(0.75);
      margin-top: -90px;
      margin-left: -50px
    }
  } 

效果图:
pc对接微信登录,前端,微信,javascript文章来源地址https://www.toymoban.com/news/detail-843356.html

通过js的方式获取code步骤如下:
  1. 页面引入js http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js (支持https)
  2. 在需要使用微信登录的地方实例以下JS对象
var obj = new WxLogin({
 	self_redirect:true,
	id: "login_container", 
	appid: "", 
	scope: "", 
	redirect_uri: "",
	state: "",
	style: "",
	href: ""
 });

到了这里,关于pc端web网站使用第三方微信登录流程(web、js)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端使用firebase配置第三方登录介绍(谷歌登录,facebook登录等)

    点此处去 firebase 官网 点此处去 web端的谷歌登录文档 点此处去 facebook开发者官网链接 首先注册一个账号登录firebase(可以使用谷歌账号登录) 然后创建项目(走默认配置就行了) 添加应用(走默认配置),如图所示,本文介绍web应用。 应用添加完毕后走项目设置-如下图(

    2024年04月13日
    浏览(36)
  • 微信小程序 - 完美解决 web-view 公众号文章或第三方网站分享转发后,打开提示 “无法打开该页面,不支持打开” 或 “页面不存在”(IOS 苹果系统打开是空白页,安卓系统会有提示)超详细排查

    由于出现这种问题的原因有很多种,绝对不像其他文章教程那样无效,本文提供了超级详细的排查思路与解决方案。 本文从 [初步排查] 到 [代码排查],完美解决 因各种原因导致 webview 页面分享后,用户打不开提示错误 这类问题, 您只需要按照排查步骤一步一步的走,从检

    2024年02月02日
    浏览(53)
  • 使用第三方打码平台图鉴识别滑动验证码模拟登录

    图鉴网页地址: http://www.ttshitu.com/ 登录后充值一个提分 把这个python脚本复制保存到一个python文件中去 识别流程 首先你要先确定验证码的类型,然后选择类型对应的编号 页面分析 我们就用邮箱登录为例 我们点击登录后会有一个滑动验证码的验证,这就是我们主要的问题,下面我

    2024年02月06日
    浏览(43)
  • 【硬件】在Windows PC端使用adb工具无线向电视机顶盒安装第三方软件(不需要ROOT,已解决)

    对各种电视的Android机顶盒(除中国移动盒子这种只能ROOT才有权限的),在不需要连接USB数据线的情况下,在Win10 PC端使用adb工具向机顶盒安装第三方软件。 在官网 http://adbshell.com/downloads 下载ADB Kits工具包并解压 打开 ”此电脑“ - “属性” - “高级系统设置” - “环境变量”

    2024年02月05日
    浏览(30)
  • spring boot整合第三方微信开发工具 weixin-java-miniapp 实现小程序微信登录

    有时候项目需要用到微信登录或获取用户的手机号码,weixin-java-miniapp是一个好用的第三方工具,不用我们自己写httpcline调用。 导入jar包 添加一个resource.properties文件,写上小程序的appid和secret 添加两个配置文件 WxMaProperties.java WxMaConfiguration.java 如何使用 小程序给微信发送消息

    2024年02月16日
    浏览(33)
  • 【深入浅出 Spring Security(十二)】使用第三方(Github)授权登录

    (Github授权登录的具体操作在目录第三“章”) 下面是《深入浅出Spring Security》书中的一段概述: OAuth 是一个开放标准(现在所说的 OAuth 一般都是指 OAuth2,即 2.0 版本),可以理解为是一种协议,该标准允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如头

    2024年02月10日
    浏览(47)
  • 微信小程序使用第三方插件

    这里是使用npm方式安装第三方插件: 1,首先新建一个微信小程序项目并找到该项目的文件地址, 如下图: 该项目中我以安装 weui插件为例进行演示。在上图中的目录中打开PowerShell窗口,先要进行npm 初始化,输入npm help init  ,默认回车下一步下一步就ok; 2,输入命令:npm in

    2024年02月08日
    浏览(44)
  • 微信小程序 - 使用第三方字体

    在微信小程序中,我们可以通过引入第三方字体来实现更加个性化和独特的文字效果。本文将详细介绍如何引入并使用第三方字体。 步骤一:选择字体文件 首先,我们需要选择一个适合的第三方字体文件。可以在网络上搜索并下载免费的字体文件,也可以购买商业字体。确

    2024年02月03日
    浏览(40)
  • ios swift5 “Sign in with Apple“(使用苹果登录)怎样接入(第三方登录)集成AppleID登录

    1.1 如果你新建app id,记得在新建的时候就选中Sign in with Apple功能 1.2 如果app已经上线了,后面再需要加苹果登录的功能,也可以在app id的配置中加这个功能,只是勾选Sign in with Apple点击Save后,profilex需要重新生成 iOS 苹果登录(第三方登录) - csdn 集成AppleID登录 - 简书 要在你的

    2024年04月09日
    浏览(39)
  • 微信小程序使用webview打开第三方地址

    1、在page下创建一个webview目录文件包含index.js index.wxml,配置好路由 2、index.js 3、index.wxml 4、跳转 (地址后拼接参数需要转码) 注意:webview页面的title 取得是第三方地址的title标签的内容,且webview页面不支持自定义标题

    2024年02月10日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包