access

微信公众平台开发(71)OAuth2.0网页授权

放肆的年华 提交于 2020-03-07 07:20:32
本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称、头像、性别、国家、省份、城市、语言。 本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息,而无需模拟登录。 在本文中,特别要注意的是有两个不同的Access Token,他们产生的方式不一样,一种是使用AppID和AppSecret获取的access_token,一种是OAuth2.0授权中产生的access_token,方倍工作室分别称为全局Access Token和授权Access Token。 一、通过全局Access Token获取用户基本信息 1. 用户关注以及回复消息的时候,均可以获得用户的OpenID <xml> <ToUserName><![CDATA[gh_b629c48b653e]]></ToUserName> <FromUserName><![CDATA[ollB4jv7LA3tydjviJp5V9qTU_kA]]></FromUserName> <CreateTime>1372307736</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[subscribe]]></Event> <EventKey><![CDATA[]]></EventKey> </xml>

OAuth2介绍与使用

余生长醉 提交于 2020-03-06 00:24:42
1.什么是OAuth2 OAuth(开放授权)是一个开放标准,允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容,OAuth2.0是OAuth协议的延续版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0。 2.应用场景 第三方应用授权登录:在APP或者网页接入一些第三方应用时,时长会需要用户登录另一个合作平台,比如QQ,微博,微信的授权登录。 原生app授权:app登录请求后台接口,为了安全认证,所有请求都带token信息,如果登录验证、请求后台数据。 前后端分离单页面应用(spa):前后端分离框架,前端请求后台数据,需要进行oauth2安全认证,比如使用vue、react后者h5开发的app。 3.名词定义 (1) Third-party application:第三方应用程序,本文中又称"客户端"(client),比如打开知乎,使用第三方登录,选择qq登录,这时候知乎就是客户端。 (2)HTTP service:HTTP服务提供商,本文中简称"服务提供商",即上例的qq。 (3)Resource Owner:资源所有者,本文中又称"用户"(user),即登录用户。 (4)User Agent:用户代理,本文中就是指浏览器。 (5)Authorization server:认证服务器

mysql遇到Access denied for user 'root'@'localhost'以及修改密码问题的解决

冷暖自知 提交于 2020-03-05 23:13:22
新手初装MYSQL连mysql服务都无法启动,网上查了好久,终于解决了第一步,要用管理员身份打开cmd,然后如下图,如果不能成功初始化的话要清空data文件夹的数据,再初始化 接下来又遇到了Access denied for user 'root'@'localhost' (using password: YES) 的问题,这个也看不出来密码是不是正确的,我就看了很多博客试图修改密码,失败了很多次,最终成功找到一个解决办法,参考这位博主的 https://blog.csdn.net/q283614346/article/details/90732968 打开两个CMD,先停止mysql服务(net stop mysql),然后直接一个输入mysqld --console --skip-grant-tables --shared-memory,另一个输入mysql -uroot -p,在后面这个CMD里可以跳过输入密码,进入mysql了,我的页面如下 现在就该重置密码了,这个我也参考了很多,不整理了,我的输入如下图 即update mysql. user set authentication string=password( 123456' )where user=' root'; flush privi leges; quit 三句,前面两句不要漏掉分号! 最后,就是改权限了

解决跨域上传文件时报错

匆匆过客 提交于 2020-03-05 21:53:40
下午群里@我说,上传文件有问题,看了下,发现报如下错误 has been blocked by CORS policy: The "Access-Control-Allow-origin' header contains multiple values''*,* but only one is allowed. 字面意思是设置了重复跨域了。于是开始着手解决问题:这个上传附件是页面上 js 直接调用接口的,线上环境 WEB 服务器是 Nginx,接口提供方是 PHP 语言编写的。先找到 Nginx 对应的配置,发现有 location /api/upload/ { add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST'; ...... } 又看了下接口 API,发现开头有 header("Access-Control-Allow-Origin: *"); 这个契合了浏览器的那个 multiple values 错误提示了,于是注释掉其中一个就好了。 来源: CSDN 作者: molaifeng 链接: https://blog.csdn.net/molaifeng/article/details/104681000

LAMP 2.2 Apache配置静态缓存

♀尐吖头ヾ 提交于 2020-03-05 09:47:16
这里的静态文件指的是图片、js、css 等文件,用户访问一个站点,其实大多数元素都 是图片、js、css 等,这些静态文件其实是会被客户端的浏览器缓存到本地电脑上的,目的 就是为了下次再请求时不再去服务器上下载,这样就加快了速度,提高了用户体验。但这些 静态文件总不能一直缓存,它总有一些时效性,我们改就是这个过期时间,配置如下: <IfModule mod_expires.c> ExpiresActive on ExpiresByType image/gif "access plus 1 days" ExpiresByType image/jpeg "access plus 24 hours" ExpiresByType image/png "access plus 24 hours" ExpiresByType text/css "now plus 2 hour" ExpiresByType application/x-javascript "now plus 2 hours" ExpiresByType application/javascript "now plus 2 hours" ExpiresByType application/x-shockwave-flash "now plus 2 hours" ExpiresDefault "now plus 0 min" <

前端常见跨域解决方案(全)

懵懂的女人 提交于 2020-03-05 07:55:44
前端常见跨域解决方案(全) 什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。 广义的跨域: 1.) 资源跳转: A链接、重定向、表单提交 2.) 资源嵌入:<link>、<script>、<img>、<frame>等dom标签,还有样式中background:url()、@font-face()等文件外链 3.) 脚本请求: js发起的ajax请求、dom和js对象的跨域操作等 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。 什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指”协议+域名+端口”三者相同,即便两个不同的域名指向同一个ip地址,也非同源。 同源策略限制以下几种行为: 1.) Cookie、LocalStorage 和 IndexDB 无法读取 2.) DOM 和 Js对象无法获得 3.) AJAX 请求不能发送 常见跨域场景 URL 说明 是否允许通信 http : //www.domain.com/a.js http : //www.domain.com/b.js 同一域名,不同文件或路径 允许 http : /

自建免费图床, 免费资源利用 onedriver api 自建图床

僤鯓⒐⒋嵵緔 提交于 2020-03-04 18:55:48
免费图床, 都推荐的比较稳定的 推荐看 这里, 已经总结了 免费图床点这里 用别人的不放心, 对接api 不灵活, 自己需求主要也是做站 提供一个思路, 使用onedriver 或 google driver api 自建免费图床 cocook免费图床 要求, 当然要回简单的编码, 是什么语言无所谓 有服务器, 最基础配置就行了 看懂 oneDriver api, 现在老的api授权已经不好用, 推荐直接用最新的 建立 注册clintid 地址 注册点这里 api 地址, 主要是 授权(使用auth2 最新版) 上传 下载 api点这里 由于 微软大厂, api太多, 也花费了 两天时间 才对接完成, 建议使用最新的api 下面 介绍一下 具体的 流程 1. 授权 auth2, 授权地址, 中文叫什么 终结点url, 看这个就知道了 注意 scope 权限 , redirect_uri 授权成功跳转地址, 获取code, 所有的 auth2 都是这个流程 public String getAuthUrl(Map<String, String> params0){ String url = Constants.get("login_url") +"/authorize"; url += "?client_id=" + Constants.get("client_id"); url +

How to Slove MB SD C4 Cannot Access OBD2 Port

蓝咒 提交于 2020-03-04 04:04:33
When using china clone mb sd connect compact 4 Multiplexer, it could not link to the car computer, MB SD Connect C4 offered a message, saying like “check cable connection / turn ignition on”. Then tried again, clone SDconnect compact 4 multiplexer cannot access OBD2 port According to customer’s feedback that he failed to access to the diagnostic OBD port when tried to use sd connect c4 read errors code from Benz SRS system. The system prompted an error message “check cable connection/turn ignition on”. Possible Reason: The error lies on the SD Connect C4’s battery. ​Solution from Autonumen.com

0033 腾讯云短信发送

核能气质少年 提交于 2020-03-03 15:29:20
1 获取短信发送参数 1.1 登录腾讯云,获取腾讯云短信开发者ID(AppID)和开发者密码(AppKey) 1.2 设置并注册短信模板,获取模板号 1.3 在GeneralTools目录下创建一个Constants.py文件,用于保存运行常量。内容如下: """ 腾讯云短信相关常量设置 """ # 云短信应用 SDK AppID SMS_SDK_APP_ID = '14044453' # 云短信应用 SDK AppKey SMS_APP_KEY = 'e8dfd927c527513f6c6787289b402d' # 注册短信模板ID SMS_REGISTER_TEMPLATE_ID = 391568 # 短信签名,签名参数使用的是`签名内容`,而不是`签名ID`。 SMS_SIGN = '仝恒智能科技温馨提示' # 验证access_token有效时间: s VERIFY_ACCESS_TOKEN_EXPIRES = 300 # 短信验证码的有效期,单位秒 SMS_CODE_REDIS_EXPIRES = 300 # 短信验证码发送间隔,单位秒 SEND_SMS_CODE_INTERVAL = 60 2 获取短信接口   获取短信接口的基本思路是:前端先发一个手机号到后端,后端根据手机号生成用户身份令牌access_token,并返回前端。   有以下几个问题要处理: 2.1

access下的分页方案

╄→尐↘猪︶ㄣ 提交于 2020-03-03 14:52:20
具体不多说了,只贴出相关源码~ using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.OleDb; using System.Web; /**/ /// <summary> /// 名称:access下的分页方案(仿sql存储过程) /// 作者:cncxz(虫虫) /// blog: http://cncxz.cnblogs.com /// </summary> public class AdoPager { protected string m_ConnString; protected OleDbConnection m_Conn; public AdoPager() { CreateConn( string .Empty); } public AdoPager( string dbPath) { CreateConn(dbPath); } private void CreateConn( string dbPath) { if ( string .IsNullOrEmpty(dbPath)) { string str = System.Configuration.ConfigurationManager