SpringBoot2在自己的授权服务器中使用OAuth2.0实现

SpringBoot2在自己的授权服务器中使用OAuth2.0实现,spring,spring-boot,spring-security,microservices,spring-security-oauth2,Spring,Spring Boot,Spring Security,Microservices,Spring Security Oauth2,我创建了一个新的SpringBoot2项目,目的是使用eureka服务器创建微服务,使用zuul代理创建api网关,并尝试微服务之间的交互通信 但是,在安全性方面,尝试为api网关实现oauth。但是现在,我在Spring1.x版本中用于获取访问令牌的'oauth/token'端点在SpringBoot2中不起作用 我在谷歌上搜索到,springboot2在springsecurity5中进行了一些更改,以默认加密和解密 客户端id 客户机密 用户密码 同样,在mysql数据库中也改变了这一

我创建了一个新的SpringBoot2项目,目的是使用eureka服务器创建微服务,使用zuul代理创建api网关,并尝试微服务之间的交互通信

但是,在安全性方面,尝试为api网关实现oauth。但是现在,我在Spring1.x版本中用于获取访问令牌的'oauth/token'端点在SpringBoot2中不起作用

我在谷歌上搜索到,springboot2springsecurity5中进行了一些更改,以默认加密和解密

  • 客户端id
  • 客户机密
  • 用户密码
同样,在mysql数据库中也改变了这一点,使用bcrypte数据,前缀为{encryption type}使用Bcrypt,还可以匹配用户输入的凭据

但是,请求:

返回401 unauthorized as响应

{ “时间戳”:“2018-06-28T17:31:07.181+0000”, “状态”:401, “错误”:“未经授权”, “消息”:“未经授权”, “路径”:“/oauth/token” }

它在SpringBoot1.x版本中运行平稳,但在SpringBoot2.0中不起作用。我不知道我做错了什么。请在我坚持做这件事的时候放几盏灯

如果我错了,请纠正我,如果问题需要更清楚,请在下面评论。所以我用一些工作过的代码片段更新了这个问题。请建议一些演示或任何来源,以了解。任何小小的帮助都将不胜感激

编辑时使用-日志详细信息:

::弹簧启动::(v2.0.3.版本) 2018-06-30 00:26:01.086信息1396---[main]org.hibernate.Version:hh000412:hibernate核心{5.2.17.Final} 2018-06-30 00:26:01.088信息1396---[main]org.hibernate.cfg.Environment:hh000206:hibernate.properties未找到 2018-06-30 00:26:01.138信息1396---[main]o.hibernate.annotations.common.Version:HCANN000001:hibernate Commons annotations{5.0.1.Final} 2018-06-30 00:26:01.388信息1396---[main]org.hibernate.dialogue.dialogue:hh000400:使用方言:org.hibernate.dialogue.mysql5dialogue 2018-06-30 00:26:02.115信息1396---[main]j.LocalContainerEntityManagerFactoryBean:初始化了持久化单元“default”的JPA EntityManagerFactory 2018-06-30 00:26:02.359调试1396---[main].s.o.p.e.FrameworkEndpointHandlerMapping:在应用程序上下文中查找请求映射:org.springframework.boot.web.servlet.context。AnnotationConfigServletWebServerApplicationContext@515aebb0:启动日期[2018年6月30日星期六00:25:55];上下文层次结构的根 2018-06-30 00:26:02.373调试1396---[main].s.o.p.e.FrameworkEndpointHandlerMapping:在类org.springframework.security.oauth2.provider.endpoint.AuthorizationEndpoint上找到2个请求处理程序方法:{public org.springframework.web.servlet.ModelAndView org.springframework.security.oauth2.provider.endpoint.AuthorizationEndpoint.authorization(java.util.Map,java.util.Map,org.springframework.web.bind.support.SessionStatus,java.security.Principal)={[/oauth/authorization]},public org.springframework.web.servlet.View org.springframework.security.oauth2.provider.endpoint.AuthorizationEndpoint.approveOrDeny(java.util.Map,java.util.Map,org.springframework.web.bind.support.SessionStatus,java.security.Principal)={[/oauth/authorize],methods=[POST],params=[user\u oauth\u approval]} 2018-06-30 00:26:02.377 INFO 1396---[main].s.o.p.e.FrameworkEndpointHandlerMapping:将“{[/oauth/authorize]}”映射到public org.springframework.web.servlet.ModelAndView org.springframework.security.oauth2.provider.endpoint.AuthorizationEndpoint.authorize上(java.util.Map、java.util.Map、org.springframework.web.bind.support.SessionStatus、java.security.Principal) 2018-06-30 00:26:02.381信息1396---[main].s.o.p.e.FrameworkEndpointHandlerMapping:将“{[/oauth/authorize],methods=[POST],params=[user\u oauth\u approval]}”映射到public org.springframework.web.servlet.View org.springframework.security.oauth2.provider.endpoint.AuthorizationEndpoint.approveOrDeny(java.util.Map、java.util.Map、org.springframework.web.bind.support.SessionStatus、java.security.Principal) 2018-06-30 00:26:02.384调试1396---[main].s.o.p.e.FrameworkEndpointHandlerMapping:org.springframework.security.oauth2.provider.endpoint.TokenEndpoint类上找到的2个请求处理程序方法:{public org.springframework.http.ResponseEntity org.springframework.security.oauth2.provider.endpoint.TokenEndpoint.getAccessToken:{(java.security.Principal,java.util.Map)抛出org.springframework.web.HttpRequestMethodNotSupportedException={[/oauth/token],methods=[GET]},public org.springframework.http.ResponseEntity org.springframework.security.oauth2.provider.endpoint.TokenEndpoint.postAccessToken(java.security.Principal,java.util.Map)抛出org.springframework.web.HttpRequestMethodNotSupportedException={[/oauth/token],methods=[POST]} 2018-06-30 00:26:02.386 INFO 1396---[main].s.o.p.e.FrameworkEndpointHandlerMapping:将“{[/oauth/token],methods=[GET]}”映射到public org.springframework.http.ResponseEntity org.springframework.security.oauth2.provider.endpoint.TokenEndpoint.getAccessToken(java.security.Principal,java.util.Map)抛出org.springframework.web.HttpRequestMethodNotSupportedException 2018-06-30 00:26:02.387信息1396---[main].s.o.p.e.FrameworkEndpointHandlerMapping:将“{[/oauth/token],methods=[POST]}”映射到public org.springframework.http.ResponseEntity org.springframework.security.oauth2.provider.endpoint.TokenEndpoint.postAccessToken(java.security.Principal,java.util.Map)抛出org.springframework.web.HttpRequestMethodNotSupportedException 2018-06-30 00:26:02.390调试1396---[main].s.o.p.e.FrameworkEndpointHandler
Basic Authentication Authorization header found for user 'fooClientIdPassword'
Authentication attempt using org.springframework.security.authentication.dao.DaoAuthenticationProvider
User 'fooClientIdPassword' not found
Authentication request for failed: org.springframework.security.authentication.BadCredentialsException: Bad credentials