草庐IT

spring -/oauth/authorize 和/oauth/token 在 Spring OAuth 中如何交互?

我正在深入研究SpringOAuth,发现一些相互矛盾的信息。具体来说,thistutorial声明/oauth/token端点在将刷新token授予客户端应用程序之前处理用户名和密码。相比之下,SpringOAuthDeveloperGuide提到了/oauth/authorize和/oauth/token端点,但没有具体说明它们是如何工作的。/oauth/authorize是否100%执行username/password/nOtherFactors检查,然后向/oauth/token端点发出信号向客户端发送刷新token,以便客​​户端随后将刷新token发送到/oauth/to

java - 为什么我的 token 被拒绝?什么是资源 ID? "Invalid token does not contain resource id (oauth2-resource)"

我正在尝试为spring项目配置OAuth2。我正在使用我的工作场所提供的共享UAA(oauthimplementationfromcloudfoundry)实例(因此我没有尝试创建授权服务器,并且授权服务器与资源服务器是分开的)。前端是一个单页应用程序,它使用隐式授权直接从授权服务器获取token。我有SPA设置,它添加了Authorization:Bearer每个WebAPI调用微服务的header。我现在的问题是微服务。我正在尝试使用此共享授权服务器来验证微服务。这里我可能有一个误解,买我目前的理解是这些微服务扮演资源服务器的角色,因为它们托管SPA用来获取数据的端点。所以我尝试

spring - 如何使 Spring Security OAuth2 真正无状态/摆脱 "state"参数?

我目前正在开展一个项目,我们希望用户通过Facebook和其他OAuth2提供商登录。此外,RESTapi应该是无状态的。因此,不应创建/使用任何cookie/jsessionid。对于api授权,通过Facebook成功登录后,api会发出JWT。使用其余api的webapp是使用AgularJS和satellizer构建的。我将代码缩减为minimalexampleavailableongithub.工作流程思路:用户进入网站,选择“用facebook登录”Web应用程序打开一个弹出窗口,显示facebook登录页面用户登录、接受和facebook重定向到web应用webapp从F

spring - 如何使用 Spring Cloud Security 实现 OAuth2 "Token Exchange"

我想知道是否有人有一个例子来看看如何使用SpringCloudSecurity(使用OAuth2)实现“token交换”技术。目前,我已经在微服务环境中实现了“token中继”技术,使用ZuulProxy来“中继”OAuth2token并实现SSO。这很好,但意味着每个微服务都使用相同的clientId(在ZuulProxy设置中指定,因为ZuulProxy仅使用authentication_code授权类型和提供的clientId中继token)。但是,对于内部微服务调用,我想“交换”token。这意味着在某些情况下,ZuulProxy中继的token不是我需要用来验证/授权微服务A

java - spring-security oauth2 REST 服务器在错误凭据(400)错误响应中不需要的 Stacktrace

我们有一个基于Oauth2的REST服务器(资源+授权),由spring-security+springweb+jersey提供,用于我们的REST资源。大多数情况都很好,但是当使用错误凭据在用户名-密码流中点击/oauth/token时,我们不仅得到400(按照规范是正确的),而且响应中的整个堆栈跟踪为JSON.我已经搜索、调试和摸索,但无法完全找到罪魁祸首。这可能是Spring安全设置吗?还是Spring网?还是使用jersey映射资源的servlet?示例响应(缩写):$curl-XPOST-v--data"grant_type=password&username=admin&p

java - 从 Spring RESTful 资源服务器验证 OAuth 2.0 访问 token

我想保护我的SpringRESTful后端。一种方法(对吗?)是使用OAuth2.0,如下所示:http://www.youtube.com/watch?v=8uBcpsIEz2I在我的架构中,资源服务器和授权服务器不是相同的实体。我真的只是提供一些JSONREST服务。没有用户界面。如果我阅读OAuth2RFC他们只是说:Theinteractionbetweentheauthorizationserverandresourceserverisbeyondthescopeofthisspecification.Theauthorizationservermaybethesameser

Spring Boot 2.0.0.M6 OAuth2 Web 应用程序客户端。不再有@EnableOauth2Sso;如何更换?

我已经在Spring5和Springboot2.0.0.M3中构建了一个身份验证服务和Web应用程序,现在我正在尝试将其移植到Springboot2.0.0.M6。我注意到@EnableOauth2Sso在spring-boot-autoconfigure中不再可用;我曾使用此注释以springboot2.0.0.M3方式配置我的Web应用程序。我已经查看了Spring上的示例,用于使用@EnableOAuth2Client配置Oauth2Client但示例中使用的配置对象,例如UserInfoTokenServices似乎也不存在了。如何在SpringBoot版本>=2.0.0.M6

java - Spring Security OAuth2 的 Web 和移动客户端

我正在尝试围绕OAuth2和SpringSecurityOAuth,尤其是OAuthProvider服务。我正在尝试实现以下内容:OAuth提供者资源服务器(应使用OAuthProvider保护的RESTfulWeb服务(1))Web客户端(使用SpringSecurity保护但应使用OAuthProvider(1)对用户进行身份验证的Web客户端应用程序也应使用OAuthProvider(1)进行身份验证的本地移动客户端(Android和iOS)所有这些模块都是相互独立的,即分开在不同的项目中,并将托管在不同的域上,例如(1)http://oauth.web.com,(2)http:

java - Spring 社交Facebook : "The OAuth2 ' state' parameter doesn't match"

我在SpringMVC项目中使用SpringSocialFacebook来支持Facebook登录。这在几乎所有情况下都运行良好,但偶尔我会在日志中看到以下异常。ERRORorg.springframework.social.connect.web.ProviderSignInController-ExceptionwhilecompletingOAuth2connection:java.lang.IllegalStateException:TheOAuth2'state'parameterdoesn'tmatch.atorg.springframework.social.connec

java - 如何获取 Spring Boot 和 OAuth2 示例以使用默认密码授予凭据以外的其他凭据

我正在关注DaveSyer的基本SpringBootOAuth2示例:https://github.com/dsyer/sparklr-boot/blob/master/src/main/java/demo/Application.java@Configuration@ComponentScan@EnableAutoConfiguration@RestControllerpublicclassApplication{publicstaticvoidmain(String[]args){SpringApplication.run(Application.class,args);}@Req