问题描述在之前发布的《Spring Cloud实战小贴士:Feign的继承特性(伪RPC模式)》一文中,我们介绍了如果使用Feign的继承特性来完成服务的提供以及服务的消费,实现了类似RPC的编程模式。但是,仔细一些的读者可能已经发现一个问题:当我们将服务消费者运行起来的时候,定义在服务提供方的那些请求映射关系也被加载到了服务消费者中,这就会带来两个问题: 由于服务消费者并不提供这些接口,...

上一篇文章中我们介绍了获取token的流程,这一篇重点分析一下,携带token访问受限资源时,内部的工作流程。 @EnableResourceServer与@EnableAuthorizationServer还记得我们在第一节中就介绍过了OAuth2的两个核心概念,资源服务器与身份认证服务器。我们对两个注解进行配置的同时,到底触发了内部的什么相关配置呢? 上一篇文章重点介绍的其实是与身份认证...

本文开始从源码的层面,讲解一些spring Security Oauth2的认证流程。本文较长,适合在空余时间段观看。且涉及了较多的源码,非关键性代码以…代替。 获取token上一篇博客中我们尝试使用了password模式和client模式,有一个比较关键的endpoint:/oauth/token。从这个入口开始分析,spring security oauth2内部是如何生成token的。...

前言今天来聊聊一个接口对接的场景,A厂家有一套HTTP接口需要提供给B厂家使用,由于是外网环境,所以需要有一套安全机制保障,这个时候oauth2就可以作为一个方案。 关于oauth2,其实是一个规范,本文重点讲解spring对他进行的实现,如果你还不清楚授权服务器,资源服务器,认证授权等基础概念,可以移步理解OAuth 2.0 - 阮一峰,这是一篇对于oauth2很好的科普文章。 需要对sp...

通过之前发布的《Spring Cloud构建微服务架构:服务消费者(Feign)》,我们已经学会如何使用Spring MVC的注解来绑定服务接口。我们几乎完全可以从服务提供方的Controller中依靠复制操作,来构建出相应的服务接口客户端,或是通过Swagger生成的API文档来编写出客户端,亦或是通过Swagger的代码生成器来生成客户端绑定。即便如此,有很多的方式来产生Feign的客...

在工作场合实施Git的时候,有很多种工作流程可供选择,此时反而会让你手足无措。本文罗列了企业团队最常用的一些git工作流程,包括Centralized Workflow、Feature Branch Workflow、Gitflow Workflow、Forking Workflow。愿以此文抛砖引玉。 在你开始阅读之前,请记住:这些流程应被视作为指导方针,而非“铁律”。我们只是想告诉你可能...

本系列内容是来自Mashape.com的Marco在nginx.conf上的一次演讲。 上一集我们介绍了为什么我们需要API网关:微服务与API 网关(上): 为什么需要API网关? 本系列第一部分(上集)主要介绍了单体和微服务之间的差别,以及为什么我们需要一个API网关等等。 本系列的第二部分(也就是本集)主要关注Mashape.com的API网关,Kong,这个框架。我们来看看怎么使...

这是一篇博客福利! 相信很多关注Spring Cloud的爱好者们,不论是读我的系列文章和书籍还是看其他朋友们写的博客佳文,都不可避免的启动多个项目来体验Spring Cloud带来的整套微服务架构方案。其中,Eureka注册中心几乎是每个试验都必须要启动的应用。在整个学习过程中,我们不厌其烦的启动它,为了让微服务之间能够正常的发现并调用服务接口。 所以…我花了点业余时间,对Spring...

本篇作为《Spring Cloud微服务实战》一书关于Spring Cloud Zuul网关在Dalston版本对异常处理的补充。没有看过本书的读书也不要紧,可以先阅读我之前的两篇博文:《Spring Cloud实战小贴士:Zuul统一异常处理(一)》和《Spring Cloud实战小贴士:Zuul统一异常处理(二)》,这两篇文章都详细介绍和分析了Spring Cloud Zuul在过滤器...