1.近几天在学习OAuth2协议,实际开发中用的最多的就是授权码模式
 
2.OAuth2的授权码模式流程:首先是用户去访问资源服务器,服务器会给用户一个授权码;用户根据授权码去访问认证服务器,服务器验证授权码是否正确,如果正确就会给用户以一个令牌;用户根据令牌再去访问资源服务器,验证令牌无误后,用户就可以访问
 
3.在进行OAuth2项目的时候会导入springcloud以及springboot的包,这个时候版本要保持一致,不然会出现,版本错误java.lang.NoSuchFieldError: BEST_MATCHING_HANDLER_ATTRIBUTE
 
4.org/springframework/security/web/servlet/util/matcher/MvcRequestMatcher报错怎么解决
原因:是自己在同时有springboot和springcloud依赖是没有引入父依赖,再就是应该导入父依赖
 
5.Postman的使用
  1. 作用:HTTP接口测试工具
  2. 添加请求类型,以及请求网址,还有对应的Authentication和body进行测试
 
6.总结:这几天都在弄OAuth2,但是出现很多问题,都是自己细节上面的问题,也还是自己知识量不足,多动手验证,心态要平和;主要是熟悉了OAuth2的认证流程,以及简单的授权码模式代码实现
 
7.反思:其实不管在哪个工程里面的用户实体类都需要实现UserDetails接口,有着用户的获取权限方法,是否被锁,是否过期,是否禁止等等父类的方法;
在角色实体类中需要继承GrantedAuthority,以及继承获取自己权限名的方法;在之前的Jwt实现加密的时候是使用非对称RSA加密,认证服务器使用私钥加密,公钥解密;在OAuth2中是分为认证服务配置以及资源服务配置;在权限配置中需要配置自己的用户密码、密钥、授权范围、授权类型以及重定向地址;资源服务器相当于之前的配置类;在自定义登录逻辑中就是授权自己的角色权限,以及最开始的security登录账号和密码;在securityConfig中拦截发送的http请求
 
8.复盘:主要是对代码的理解
  1. 资源服务器的作用:为自定义的controller提供资源,首先是认证所有请求,过滤访问URI
  2. 授权服务器作用:设置客户的信息:客户端id,密钥,授权类型,授权范围,以及重定向地址
  3. 安全服务器:拦截访问请求
 

7.OAuth2的更多相关文章

  1. Spring Security OAuth2 开发指南

    官方原文:http://projects.spring.io/spring-security-oauth/docs/oauth2.html 翻译及修改补充:Alex Liao. 转载请注明来源:htt ...

  2. OAuth2 理解

    OAth2 是为了某个应用向第三方应用开放服务时,控制权限的. 因为不可以直接将账户体系开放出去,要求重新登录. 其实本质是让用户在客户端来判断是否要给该应用开放平台的权限,如果用户同意,那么可以拿到 ...

  3. SimpleSSO:使用Microsoft.Owin.Security.OAuth搭建OAuth2.0授权服务端

    目录 前言 OAuth2.0简介 授权模式 (SimpleSSO示例) 使用Microsoft.Owin.Security.SimpleSSO模拟OpenID认证 通过authorization co ...

  4. 分享一个单点登录、OAuth2.0授权系统源码(SimpleSSO)

    SimpleSSO 关于OAuth 2.0介绍: http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 系统效果: 登录界面: 首页: 应用界面: ...

  5. [转]Code! MVC 5 App with Facebook, Twitter, LinkedIn and Google OAuth2 Sign-on (C#)

    本文转自:https://www.asp.net/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-o ...

  6. 【OAuth2.0】Spring Security OAuth2.0篇之初识

    不吐不快 因为项目需求开始接触OAuth2.0授权协议.断断续续接触了有两周左右的时间.不得不吐槽的,依然是自己的学习习惯问题,总是着急想了解一切,习惯性地钻牛角尖去理解小的细节,而不是从宏观上去掌握 ...

  7. 深入理解OAuth2.0协议

    1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...

  8. ABP中使用OAuth2(Resource Owner Password Credentials Grant模式)

    ABP目前的认证方式有两种,一种是基于Cookie的登录认证,一种是基于token的登录认证.使用Cookie的认证方式一般在PC端用得比较多,使用token的认证方式一般在移动端用得比较多.ABP自 ...

  9. OAuth2.0 四种授权模式

    OAuth2.0简单笔记(四种授权模式) 金天:坚持写东西,不是一件容易的事,换句话说其实坚持本身都不是一件容易的事.如果学习有捷径,那就是不断实践,不断积累.写笔记,其实是给自己看的,是体现积累的一 ...

  10. 微信开放平台开发——网页微信扫码登录(OAuth2.0)

    1.OAuth2.0 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提供 ...

随机推荐

  1. 2020ccpc威海C.Rencontre题解(树形dp)

    题目大意:给定一棵带边权树,给三份点的集合U1,U2,U3,求0.5*(E(dis(u1,u2))+E(dis(u1,u3))+E(dis(u2,u3))). 即,我们需要维护两份点的所有距离和.显然 ...

  2. 关于FPGA学习的疑惑

    记录心路历程--第一次真正意义上的找工作. 最近在学习小梅哥的FPGA的过程中,总是学习着前面的东西忘着后面的,进行了过一次复习,我准备是在每个章节学完之后,再复习之前的章节,可这样是真的很耗费时间. ...

  3. mysql表操作2

    表介绍: 表就相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段 创建表: #语法: create table 表名( 字段名1 类型[(宽度) 约束 ...

  4. Java中String相关知识

    String 1.String概述 String代表字符串,Java程序中所有的字符串文字(例如'abc")都被实现为此类的实例,也就是说,Java中所有的双引号字符串都是String类的对 ...

  5. 【线性DP】乌龟棋

    #include<bits/stdc++.h> using namespace std; int a[400],b[5]; int dp[50][50][50][50]; int main ...

  6. Hyper-V 直连主机USB设备

    因为授权问题不让用 Vmware 了.所以换成微软自带的 Hyper V 但是碰到一个很头痛的问题,就是外部设备没法像 Vmware 那样直接连接到虚拟机里面,很多第三方设备没法调试了. 找了很久终于 ...

  7. 解决WIN7下pl/sql连接弹出空白提示框问题

    问题描述: win7 32位系统,已安装oracle10.0开发客户端,已配置数据库, 登陆pl/sql时出现空白提示框问题,尝试重装oracle无果,于是上网查找解决方法,逐步尝试,终于把客户端弄好 ...

  8. 盒子模型和CSS背景和列表

    盒子模型(1)宽度-width:长度值 | 百分比 | auto-max-width:长度值 | 百分比 | auto-min-width:长度值 | 百分比 | auto(2)高度-height:长 ...

  9. Linux配置NTP时间同步

    1.检查系统是否安装了NTP包(linux系统一般自带NTP4.2)没有安装我们直接使用yum命令在线安装:yum install ntp2.NTP服务端配置文件编辑vim /etc/ntp.conf ...

  10. [C#]Windows窗体应用基础-1

    代码参考: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sy ...