OAuth(Open Authorization)是一个关于授权(authorization)的开放网络标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方。
OAuth在全世界得到广泛应用,目前的版本是2.0版。
简单:不管是OAuth服务提供者还是应用开发者,都很易于理解与使用;
安全:没有涉及到用户密钥等信息,更安全更灵活;
开放:任何服务提供商都可以实现OAuth,任何软件开发商都可以使用OAuth;
授权码模式(Authorization Code Grant)
隐式授权模式(Implicit Grant)
用户名密码模式(Resource Owner Password Credentials Grant)
客户端模式(Client Credentials Grant)
二维码 (dimensional barcode) ,又称二维条码,是在一维条码的基础上扩展出的一种具有可读性的条码。设备扫描二维条码,通过识别条码的长度和宽度中所记载的二进制数据,可获取其中所包含的信息
总之:二维码是信息的载体
例如:将黑马程序员的网址写入二维码,扫描二维码就可以打开官网
Hutool是一个Java工具包类库,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类。
L、M、Q、H 由低到高。
低级别的像素块更大,可以远距离识别,但是遮挡就会造成无法识别。
高级别则相反,像素块小,允许遮挡一定范围,但是像素块更密集。
1.基于微信公众平台的扫码登录
让第三方应用投入微信的怀抱而设计的,这第三方应用指的是比如android、ios、网站、系统等;
2.基于微信开放平台的扫码登录
为了让程序员小伙伴利用微信自家技术(公众号、小程序)开发公众号、小程序而准备的。
微信开放平台需要开企业认证才能注册。
微信公众平台需要认证微信服务号,才能进行扫码登录的开发。只需申请一个公众号。
微信公众平台
公众号可通过下述接口来获取网页授权access_token。如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid,snsapi_base式的网页授权流程即到此为止。
尤其注意:由于公众号的secret和获取到的access_token安全级别都非常高,必须只保存在服务器,不允许传给客户端。后续刷新access_token、通过access_token获取用户信息等步骤,也必须从服务器发起。
获取到用户授权的信息后,需要保存在应用端,防止频繁需要用户授权
本地会话实现方式可用:Redis+cookie、JWT等常用技术
前端页面跳转
非常感谢您阅读到这里,创作不易!如果这篇文章对您有帮助,希望能留下您的点赞 关注 收藏 评论感谢支持!!!
听说 三连能够给人 带来好运!更有可能年入百w,进入大厂,上岸