oauth

盘点 15 个好用的 API 接口管理神器

微笑、不失礼 提交于 2020-10-01 18:03:19
  公众号改版后文章乱序推荐,希望你可以点击上方“ Java进阶架构师 ”,点击右上角,将我们设为 ★ “ 星标 ”!这样才不会错过每日进阶架构文章呀。      (共18篇)   【032期】JavaEE面试题(四)Spring(2)    作者:DevOps探路者 toutiao.com/i6855663276135711243   如今,API已在软件、Web和移动应用程序开发领域无处不在,从企业内部到面向公众的应用以及与合作伙伴进行系统集成。通过使用API,开发人员可以创建满足各种客户需求的应用程序。而软件架构也在随着应用程序开发方法的改变而改变。   由于API在软件开发过程中如此关键,那么对API的管理就显得格外重要。通过API管理工具和平台能够大大简化API管理的难度和复杂度。下面列举了一些顶级API管理工具和平台,可供您参考。   1. API Umbrella   API Umbrella是用于管理API和微服务的顶级开源工具之一。通过为不同的域授予不同的管理员权限,它可以使多个团队使用同一个Umbrella。该平台还提供速率限制,API密钥,缓存,实时分析和Web管理界面等功能。   2. Gravitee.io   Gravitee.io是一个用于管理API的开源平台,这个工具是灵活的并且是轻量级的。它具有开箱即用的功能,例如速率限制,IP过滤,跨域资源共享

Spring Security如何优雅的增加OAuth2协议授权模式

不羁岁月 提交于 2020-10-01 13:00:17
一、什么是OAuth2协议? OAuth 2.0 是一个关于授权的开放的网络协议,是目前最流行的授权机制。 数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用。 由于授权的场景众多,OAuth 2.0 协议定义了获取令牌的四种授权方式,分别是: 授权码模式 :授权码模式(authorization code)是功能最完整、流程最严密的授权模式。它的特点就是通过客户端的后台服务器,与"服务提供商"的认证服务器进行互动。 简化模式 :简化模式(implicit grant type)不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,跳过了"授权码"这个步骤,因此得名。所有步骤在浏览器中完成,令牌对访问者是可见的,且客户端不需要认证。 密码模式 :密码模式(Resource Owner Password Credentials Grant)中,用户向客户端提供自己的用户名和密码。客户端使用这些信息,向"服务商提供商"索要授权。 客户端模式 :客户端模式(Client Credentials Grant)指客户端以自己的名义,而不是以用户的名义,向"服务提供商"进行认证。严格地说,客户端模式并不属于OAuth框架所要解决的问题。在这种模式中,用户直接向客户端注册,客户端以自己的名义要求

五份王者文档+思维导图,全面解析SpringSecurity

…衆ロ難τιáo~ 提交于 2020-10-01 12:51:21
spring全家桶,一个和程序员息息相关的家族,每一个家族成员都是程序员好朋友,而作为其中安全认证的Spring Security。更是被程序员独宠。 Spring Security是一个能够为基于Spring的企业应用系统提供描述性安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(依赖注入,也称控制反转)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。 而关于这个程序员的宠儿,前段时间,我从朋友那里整到了5份文档+一份思维导图,对于这份资料,我给两个字评价:膜拜!王者晋级,就在眼前,不相信的可以跟着一起来看看! 声明: Spring Security王者晋级文档 以及相关 梳理思维脑图 等由于篇幅等的原因,大部分以截图展示,所以可提供源文件给每位感兴趣的小伙伴,直接来私信我口令【王者】即可回复100%免费分享下载,一起晋级王者! Spring Security观后感——手绘思维脑(供参考) 基本运行原理 自定义认证逻辑 个性化认证流程 这份思维导图,希望各位拿到后可以根据我的代码,自己实现验证一下,纸上得来终觉浅,绝知此事要躬行嘛 Spring Security王者晋级文档-Spring Security 4.2内部资料 Spring

Spring Cloud Security:Oauth2实现单点登录

本秂侑毒 提交于 2020-10-01 11:20:42
Spring Cloud Security:Oauth2实现单点登录 SpringBoot实战电商项目mall(20k+star)地址: github.com/macrozheng/… 摘要 Spring Cloud Security 为构建安全的SpringBoot应用提供了一系列解决方案,结合Oauth2可以实现单点登录功能,本文将对其单点登录用法进行详细介绍。 单点登录简介 单点登录(Single Sign On)指的是当有多个系统需要登录时,用户只需登录一个系统,就可以访问其他需要登录的系统而无需登录。 创建oauth2-client模块 这里我们创建一个oauth2-client服务作为需要登录的客户端服务,使用上一节中的oauth2-jwt-server服务作为认证服务,当我们在oauth2-jwt-server服务上登录以后,就可以直接访问oauth2-client需要登录的接口,来演示下单点登录功能。 在pom.xml中添加相关依赖: < dependency > < groupId > org.springframework.cloud </ groupId > < artifactId > spring-cloud-starter-oauth2 </ artifactId > </ dependency > < dependency > < groupId >

HMS怎么给开发者保障应用安全?

江枫思渺然 提交于 2020-10-01 10:03:32
先说个大伙儿应该都知道的背景:9月11日下午,华为开发者大会安全与隐私分论坛在松山湖举行了。 其中,华为消费者业务云服务安全技术专家,对HMS安全架构与数据保护做了解析。内容上总的来说就是,介绍了HMS Core从开发者接入到服务处理的全流程安全机制、列举了典型HMS发放能力的安全与保护技术。 一、HMS Core的“开放”能力,对谁“开放”的? 先科普一下: HMS Core(华为移动核心服务)是华为移动服务(HMS,HUAWEI Mobile Services)助力开发者高效构建精品应用,是华为为其设备生态系统提供的一套应用程序和服务。开发者只需集成HMS SDK即可使用华为的多个开放能力。(百度百科) 意思就是开发者可以通过接入HMS Core的开放能力,以低成本、低门槛地开发、更高效地创新精品应用内容、服务及体验。 二、被“开放”的HMS Core,安全如何保障? 首先,HMS Core的“开放”给开发者,并不意味着每个开发者可以随意用。一般需要经过三步:开发者联盟门户的注册 - 申请接入和获取认证凭证 - 开发者集成HMS SDK(HMS软件开发工作包)使用开放能力,HMS进行接入认证。 其中5大安全技术,可以保障基于HMS Core开发的应用的安全:   Ø 认证鉴权:用户认证、接入认证、设备认证;   Ø 数据安全与隐私保护:数据安全存储、数据使用安全、数据传输安全

总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇

放肆的年华 提交于 2020-10-01 09:39:35
本文是Java IO总结系列篇的第3篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 本文为大家介绍Java IO-创建文件夹的四种方法,及其优缺点的解析。 如果您阅读完成,觉得此文对您有帮助,请给我点个赞,您的支持是我不竭的创作动力。 1.传统API创建文件夹方式 Java传统的IO API种使用 java.io.File 类中的 file.mkdir() 和 file.mkdirs() 方法创建文件夹 file.mkdir() 创建文件夹成功返回true,失败返回false。如果被创建文件夹的父文件夹不存在也返回false.没有异常抛出。 file.mkdirs() 创建文件夹连同该文件夹的父文件夹,如果创建成功返回true,创建失败返回false。创建失败同样没有异常抛出。 [@Test](https://my.oschina.net/azibug) void testCreateDir1() { //“D:\data111”目录现在不存在 String dirStr = "D:\\data111\\test"; File directory = new File(dirStr); //mkdir boolean hasSucceeded = directory

List集合对象去重及按属性去重的8种方法-java基础总结系列第六篇

穿精又带淫゛_ 提交于 2020-09-28 17:40:39
最近在写一些关于java基础的文章,但是我又不想按照教科书的方式去写知识点的文章,因为意义不大。基础知识太多了, 如何将这些知识归纳总结,总结出优缺点或者是使用场景才是对知识的升华 。所以我更想把java相关的基础知识进行穿针引线,进行整体上的总结。 总结java中创建并写文件的5种方式 总结java从文件中读取数据的6种方法 总结java创建文件夹的4种方法及其优缺点 总结java中删除文件或文件夹的7种方法 总结java中文件拷贝剪切的5种方式 比如之前我已经写了上面的这些内容, 如果对java基础知识总结系列感兴趣的同学可以关注我的博客(文末给出我的博客地址) 。 一、本文梗概 这一篇文章我想写一下 List集合元素去重的8种方法 ,实际上通过灵活的运用、排列组合不一定是8种,可能有18种方法。 对象元素整体去重的4种方法 按照对象属性去重的4种方法 为了在下文中进行测试内容讲解,我们先做一些初始化数据 public class ListRmDuplicate { private List<String> list; private List<Player> playerList; @BeforeEach public void setup() { list = new ArrayList<>(); list.add("kobe"); list.add("james");