OAuth 2.0——微信授权登录
一、参考链接:
理解OAuth 2.0 - 阮一峰的网络日志 (ruanyifeng.com)
使用微信授权登录:
参照:第三方平台使用微信登录流程 - 知乎 (zhihu.com)
微信网页授权是通过OAuth2.0机制实现的,微信授权必须使用https
示例:
.net core 第三方微信登录 - Joni是只狗 - 博客园 (cnblogs.com)
二、基础原理

三、具体步骤
1、在微信开放平台注册你的网站项目,获取得到网站的AppID和AppSecret(相当于网站在微信平台备个案,微信给你一个凭证,以后你就可以带着这个凭证去用微信登录你的网站了)
在微信开放平台注册开发者帐号,并拥有一个已审核通过的网站应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。
2、 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;(这个code通过重定向的链接一起传给网站,告诉网站”微信“登录了)
3、通过code参数加上AppID和AppSecret等,通过API换取access_token(这个token也是一个凭证。网站可以通过这个凭证拿到微信信息)
网站向微信平台发送一个请求https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code,携带上code、AppID、AppSecret这几个参数,得到一个access_token
OAuth 2.0——微信授权登录的更多相关文章
- 微信公众平台开发——微信授权登录(OAuth2.0)
1.OAuth2.0简介 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户 ...
- 微信授权登录(OAuth2.0)-- 随记
1.OAuth2.0简介 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户 ...
- 【第二十一篇】手C# MVC 微信授权登录 OAuth2.0授权登录
首先一定要熟读,最起码过一遍微信开发者文档 微信开发者文档 文档写的很清楚 授权登录四步走 在正文开始前,我得讲清楚一个事情 敲黑板,划重点:微信一共有两个 access_token 一个是7200就 ...
- 微信授权登录(PHP)
微信授权登录(PHP) 微信授权 OAuth2.0授权 微信网页授权 主要是在项目中遇到网页授权登录这个需求,就对此做些总结记录. OAuth2.0授权 OAuth是一个开放协议,允许用户让第三方应用 ...
- wap2app(五)-- 微信授权登录以及踩过的坑
应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作,调起微信授权登录,用户授权后拿到用户信息. 一.登录插件配置 先配置微信登录参数 appid和appsecret,在m ...
- [转] Android:微信授权登录与微信分享全解析
https://wohugb.gitbooks.io/wechat/content/qrconnent/refresh_token.html http://blog.csdn.net/xiong_it ...
- asp.net权限认证:OWIN实现OAuth 2.0 之授权码模式(Authorization Code)
asp.net权限认证系列 asp.net权限认证:Forms认证 asp.net权限认证:HTTP基本认证(http basic) asp.net权限认证:Windows认证 asp.net权限认证 ...
- PHP微信授权登录用于多个域名的方法
PHP微信授权登录用于多个域名的方法appid和 回调地址换下就好了 <pre><!DOCTYPE html><html lang="en">& ...
- H5微信授权登录
这里介绍H5微信授权登录,采用了微信公众号授权原理,是oauth2的登录授权方式,简单的来讲,就是用户通过手机微信确认登录之后,微信方会返回一个授权码code给回第三方(接入方),这个授权码code一 ...
- .net core identity集成微信授权登录
最快的方式是直接nuget安装AspNetCore.Authentication.WeChat包. 想要知道是如何实现的,可以看下面github上面的源码. 源码在这里:https://github. ...
随机推荐
- linux ubuntu安装mysql
一.下载安装 sudo apt-get install mysql-server 二.初始化配置 查看密码:sudo more /etc/mysql/debian.cnf 连接:mysql -uroo ...
- mac 安装ActiveMQ
1.http://activemq.apache.org/activemq-5154-release.html 选gz 2.cd apache-activemq-5.15.4/bin/macosx 3 ...
- flutter-应用版本更新dialog
https://www.cnblogs.com/upwgh/p/13367589.html
- SignalR 外部调用自定义Hub类的方法,Clients为null
这是因为外部调用的类的对象和你连接的Hub类的对象,这两个对象 不!一!样! 解决方法 在自定义的Hub类中,注入IHubContext对象,然后在方法中调用IHubContext对象来向前端推送数据 ...
- TensorFlow 的基本概念和使用场景
TensorFlow是一个开源的机器学习框架,由Google开发并维护.它提供了一个灵活的编程环境,用于构建和训练各种机器学习模型.TensorFlow是基于图计算的模型,其中节点表示数学操作,而边表 ...
- spring - [01] 简介
Spring发展至今,已经形成了一个生态体系(Spring全家桶) 001 || Spring 定义 Spring是一款主流的Java EE轻量级开源框架,目的是用于简化Java企业级应用的开发难 ...
- LCP 17. 速算机器人
地址:https://leetcode-cn.com/problems/nGK0Fy/ <?php /** LCP 17. 速算机器人 小扣在秋日市集发现了一款速算机器人.店家对机器人说出两个数 ...
- idle如何调试程序
1.启动idle ctrl+n 快捷键 新建命令窗口 输入程序 4.F5 调试程序,结果看在启动界面查看
- [Qt 基础-02] QToolButton
QToolButton 文章目录 QToolButton 简介 1. arrowType 2. autoRaise 3. popupMode 4. toolButtonStyle 注意 信号的连接 样 ...
- go gin Next()方法
示例 gin Next()使用方法 package main import ( "fmt" "github.com/gin-gonic/gin" "n ...