开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第33天,点击查看活动详情
微信公众号网页授权流程
用户访问客户端,导向认证服务器
用户选择是否给予客户端授权
假设用户给予授权,认证服务器将用户导向客户端事先指定的重定向url,同时附上一个授权码
客户端收到授权码,附上早先的"重定向url",先认证服务器令牌,这一步是在客户端的后台服务器完成,对用户不可见
认证服务器核对了授权码和重定向url,向客户端发送访问令牌(access)和更新令牌(refresh token)
获取用户信息(用户登录)
配置网页端的回调
微信jssdk
通过javaScript代码使用微信原生功能的工具包
可以调用微信原生应用 拍照语音扫一扫
验证 扫描二维码测试,发送信息测试
crypto模块是为了提供通用的加密和哈希算法,
通过cypto这个模块暴露为javascript接口
SHA1算法,安全哈希算法, 会产生一个160位的消息摘要 ,不可变成->摘要固定长度
多进程下保存token需要全局维护
ngrok 好用的外网映射工具
点击隧道管理,打开隧道
编辑隧道信息-填入隧道明,前置域名
本地映射的端口会和web项目的http访问端口对应
确定添加并启用,复制隧道id
启动ngrok,在窗口中战天隧道id,按enter键
浏览器安全控制
X-XSS-Protection 防止反射型XSS
Strict-Transport-Security 强制使用HTTPS通信
CSP
http响应头,允许站点管理者在指定的页面控制用户代理的资源
除了少数例外,这条政策极大的指定服务源以及脚本端点,防止跨站脚本的攻击
cookie域
domain 这个属性用来比较请求URL中服务端的域名,
如果域名匹配成功,或者是其子域名,则继续检查path属性
path 除了域名, cookie可用的URL路径也可以被指定,当域名和路径都匹配,cookie才会发动请求