问题标签 [spring-security-oauth2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
grails - 如何使用 Grails Spring Security Core 设置 Google 登录?
我正在尝试使用 Google+ 登录设置对我的 Grails 应用程序的身份验证。Google 弃用了他们的 OpenID,并且他们不再允许新应用以这种方式进行身份验证。
我尝试使用http://grails.org/plugin/spring-security-oauth2-provider。
一旦我安装了它,我不知道该怎么做才能让它真正进行身份验证。任何人都可以在这里填写缺失的空白吗?我已阅读文档https://adaptivecomputing.github.io/grails-spring-security-oauth2-provider/docs/guide/index.html,但它主要处理配置选项,而不是操作指南.
如果有人有一个正在运行的示例项目并且我可以看到源代码,或者可以将我指向正确的阅读材料,那就太好了。
提前致谢,
java - 如何获取 Spring Boot 和 OAuth2 示例以使用默认密码授予凭据以外的其他凭据
我正在关注 Dave Syer 的基本 Spring Boot OAuth2 示例:https ://github.com/dsyer/sparklr-boot/blob/master/src/main/java/demo/Application.java
该示例适用于两种类型的授权,但密码授权使用 Spring Boot 默认安全用户(在启动期间回显“使用默认安全密码:927ca0a0-634a-4671-bd1c-1323a866618a”的用户)。
我的问题是如何覆盖默认用户帐户并实际依赖 WebSecurityConfig?我添加了这样的部分:
但它似乎并没有覆盖默认的 Spring 用户/密码,即使文档建议它应该这样做。
为了让这个工作,我缺少什么?
oauth - Oauth2 错误凭据 Spring Boot
我收到错误消息:
“error”:“invalid_grant”,“error_description”:“凭证错误”
这是我提出的要求:
我的代码来自这里:https ://github.com/juleswhite/mobilecloud-14/tree/master/examples/9-VideoServiceWithOauth2
这是代码:Application.java:
ClientAndUserDetailsService.java
OAuth2SecurityConfiguration.java
感谢您的关注和时间!
java - HttpSecurity 不适用于 Spring Boot 1.1.7
我正在尝试基于此示例在我的移动应用后端实现 OAuth2 安全性。
该示例使用springBootVersion = '1.0.2.RELEASE'
. 在我的项目中,我使用的是 1.1.7.RELEASE。在有几个莫名其妙的 400 - Bad Requests 之后,我开始配对依赖项。
因此,当我将示例 Spring Boot 版本设置为等于我的版本时,它会停止编译。具体是找不到**.**之间的方法。
我相信与应用程序安全性相关的 gradle 依赖项是:
这些是示例中的原始内容。然而,有趣的是,在我的应用程序中,我从来没有遇到编译错误,但它也不起作用。我与示例应用程序一起运行的测试用例运行良好。
我在这里真的很困惑。我应该更改任何这些依赖项吗?提前感谢您的任何支持。
编辑
简单的问候控制器:
预期输出:
实际输出:
oauth - 使用 OAuth 2 单点注销
我们刚刚讨论了使用 OAuth 2 时的登录和注销行为。假设我们有两个 web 应用程序A
并B
使用一个 OAuth 提供程序O
(使用 spring-security-oauth2 堆栈构建)。
当您想登录时,A
您会被重定向到O
,输入您的凭据,在那里获得一个会话O
,使用访问令牌重定向回,A
并且还会创建一个会话A
。
现在,当您想要登录时,B
您会被重定向到O
,直接将令牌发送回 B,因为您仍然有一个有效的 sesison,O
并且还会创建一个会话B
(无需再次输入您的凭据)。
这解决了我们的单点登录问题。
现在的一个要求是,当您从两个/所有应用程序注销A
或 B
注销时(单点注销)。
我们的想法是:
- 使用当前会话 id 增强访问令牌
- 如果应用程序
A
或B
想要注销用户,它们会将他重定向到注销页面O
- 如果用户从 注销
O
,则属于当前会话的所有访问令牌O
都将被删除,并且用户将被重定向回A
或B
- 会话开启
A
或被B
破坏 A
并B
在每个请求上检查他们的 OAuth 访问令牌的有效性,如果令牌不再有效,则销毁他们的会话
您认为这是 OAuth 2 的有效用例吗?您将如何以不同的方式实施单点注销?
spring - Spring Security OAuth2 check_token 端点
我正在尝试使用 spring security oauth 设置资源服务器以与单独的授权服务器一起使用。我正在使用RemoteTokenServices
需要/check_token
端点。
我可以看到/oauth/check_token
端点在使用时默认启用@EnableAuthorizationServer
。但是,默认情况下无法访问端点。
是否应该手动添加以下条目以将此端点列入白名单?
这将使所有人都可以访问此端点,这是所需的行为吗?或者我错过了什么。
提前致谢,
oauth - 为什么 Spring Security OAuth2 DefaultTokenServices 在加载身份验证时检查 clientId?
为什么要DefaultTokenServices
检查clientId
方法loadAuthentication
:
以上是问题,以下只是一些背景来解释我为什么想出它。我要问的原因是一个特殊的场景:例如,如果授权服务器不对所有客户端负责,但资源服务器在同时作为资源服务器和授权服务器的 Spring Boot 应用程序中,检查会带来问题必须为所有客户服务。
在纯资源服务器上,clientDetailsService 可以为空。资源服务器可以在不知道注册客户端的情况下工作,同时仍然可以对访问令牌的其他属性强制执行安全性,例如资源 ID 和访问令牌的有效性。
在纯 Authorization Server 上没有问题,因为 Authorization Server 必须有一个 clientDetailsService,它知道可以为其颁发令牌的所有客户端。
然而,在混合服务器上,授权服务器可能不知道所有可能的客户端,因为可能存在其他授权服务器。然后,资源服务器组件将检查上述代码中的每个 clientId,并拒绝来自该授权服务器不知道的客户端的所有请求。
使场景易于理解的示例:
有一个混合服务器(授权和资源服务器合二为一)为业务用户发布令牌并为管理业务用户提供服务(例如创建、锁定、解锁等)。
还有一个单独的授权服务器为管理用户颁发令牌。管理用户使用 UI 来管理(例如创建、锁定、解锁等)业务用户,即他们使用 1. 的服务和 2. 发行的令牌。
java - ResourceOwnerPasswordResourceDetails 与 Oauth2RestTemplate,设置用户名和密码
我目前正在使用我的控制器配置我的 Oauth2RestTemplate。所述控制器将接收要在 ResourceOwnerPasswordResourceDetails 中设置的用户用户名和密码,但是,我没有看到这是如何设置的。此应用程序用于 Oauth2 客户端设置。
正如所见,从我的“verifyCredential”中,我传递了映射到数据映射器 LoginCredential 的凭据。此类具有用户的“用户名”、“密码”和“令牌”属性。在这一点上,我认为将 LoginCredential 的对象属性传递给 OAuth2RestTemplate loginCredentialRest 会很容易,但事实并非如此。
此外,我还使用访问令牌端点 (accessTokenUri) 配置了 ResourceOwnerPasswordResourceDetails,并且基本上将此对象连接到 Oauth2RestTemplate。我将如何使用它向访问令牌端点发出请求,为访问令牌提供“用户名”、“密码”和“令牌”?
java - 如何使用提供的客户端 ID 和客户端密码提供对受保护端点的访问?
我有一个使用 OAuth 的应用程序。身份验证包含 2 个步骤:获取访问令牌,使用提供的访问令牌发出请求。
是否可以配置 Spring Security 以通过提供的客户端 ID 和客户端密码作为请求参数提供访问,例如https://localhost.com/api/endpoint?client_id=xxxx&client_secret=yyyy?
java - Spring-Security-Oauth2: java.lang.NoClassDefFoundError: org/springframework/security/authentication/InternalAuthenticationServiceException
我正在尝试使用基于 java 的配置将 Oauth2.0 与 Spring Security 集成到 Web 应用程序中。但是当我尝试调整示例应用程序时,我会抛出如下异常:
以下是我的 Spring 数据,基于 Java 的配置代码:
}
以下是我的 Oauth2.0 集成代码:
提前感谢您的解决方案。我陷入了这个问题。