问题标签 [spring-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.
android - 使用 spring security oauth 将社交登录添加到本机应用程序
我一直在关注这个链接https://spring.io/guides/tutorials/spring-boot-oauth2来实现我自己的资源服务器的安全性。我的最终目标是让自定义登录 oauth 服务器从我使用 grant_type=password 实现的 android 应用程序访问资源服务器。
现在我想将 Facebook 等社交登录添加到同一流程中。我能够轻松地使其适用于网络应用程序,我什至在本机 android 应用程序中从 facebook 获得了 accessToken 但现在呢?经过这么多搜索,我找不到任何适合安卓应用的东西。所以我的问题是:
- 如何使用 spring oauth2 将社交登录添加到 android 应用程序。有链接吗?
- 我是否应该使用 Spring social 和 spring security 来实现我的目标。如果是,如何?
- 我一直在使用 JDBCTokenStore 来保存我的令牌,以防我的服务器重新启动。如果我以某种方式将令牌发送到服务器,我应该如何存储它?
如果我的理解不正确,请告诉我。
java - 如何根据 Spring OAuth2 中的 clientId 仅允许某些用户登录?
我有一个支持 OAuth2 的 Spring Boot 应用程序。我有 2 个客户,每个客户都有自己的客户 ID:
此外,我有一个User
其中有一个Role
. 我现在希望具有角色 ROLE_ONE 的用户在使用时只能获取身份验证令牌,clientOne
而具有 ROLE_TWO 的用户只能使用clientTwo
来获取该令牌。
我应该在哪里添加该逻辑?
java - 使用 java config 为授权服务器端点配置 Spring OAuth2 表达式处理程序方法
在我们的应用程序中,我们希望锁定 check_token 端点,以便只有使用客户端凭据进行身份验证的客户端才能检查令牌的有效性。
文档指出,使用时默认启用表达式处理程序@EnableResourceServer
,并且有一些关于如何使用 xml 设置表达式处理的说明。我需要做什么才能让 spring 使用 java config 评估下面的表达式?
java - 需要进行身份验证才能获取访问令牌(不允许匿名)
我尝试修改现有示例 - Tonr2 和 Sparklr2。我还查看了基于 Spring Boot Spring Boot OAuth2的本教程。我尝试像在 Tonr2 示例中那样构建应用程序,但没有首次登录(在 tonr2 上)。我只需要在 Sparklr2 端进行一个身份验证。我这样做:
但我有Authentication is required to obtain an access token (anonymous not allowed)
。我检查了这个问题。当然,我的用户是匿名的——我想登录 Sparklr2。另外,我尝试了这个bean的不同设置组合,但没有什么好处。如何解决?如何让它按我的意愿工作?
spring - RestTemplate - POST 请求导致 401(未经授权)
我尝试实现自定义身份验证服务器和客户端。我以这段代码为例。我将 Tonr2 应用程序修改为不使用任何用户。我想转换这 2 个应用程序。Tonr2 应该根据来自 Sparklr2 的会话创建用户会话。现在我修改了这部分:
在 Sparklr2(ResourceConfiguration 类)中:
在 Tonr2 中:
和:
但我得到了:
如何解决?或者,也许您有一些示例如何正确执行此操作?
node.js - node.js 无法从 Spring Boot Security 获取用户主体
Spring Security 正在保护两个独立的 Spring Boot 后端服务,这些服务在两个独立的端口上运行,来自两个独立的 jar 文件。其中一项服务(称为resource
,在此链接中包含完整代码)响应来自前端 Node.js 服务器的 GET 请求,但另一项服务(称为authserver
,将在此链接中包含完整代码。)没有。 如何更改 spring 安全设置,以便authserver
应用程序可以响应来自 node.js 服务器的请求?
这是来自 node.js 服务器的 express.js 代码,它向两个后端服务发出请求:
以下是nodemon
显示的日志:
1.) 对authserver
应用程序/uaa/user
端点的调用给出了304
响应(Spring Bootauthserver
应用程序的日志没有显示任何接收请求的证据),以及
2.)resource
应用程序的/resource
端点返回了401
响应( Spring Bootresource
应用程序日志确实显示它收到了请求):
我确认http://localhost:9999/uaa/user
在 Web 浏览器中输入确实会触发 Spring Bootauthserver
应用程序创建记录请求的日志,并在浏览器中提供以下 xml:
java - Spring security OAuth2 接受 JSON
我从 Spring OAuth2 开始。我想以 application/json 格式将用户名和密码发送到 POST 正文中的 /oauth/token 端点。
那可能吗?
你能给我一个建议吗?
spring - Spring OAuth2 禁用 TokenEndpoint 的 HTTP 基本身份验证
我从 Spring OAuth2 开始。到目前为止一切顺利,我已经通过配置保护了我的应用程序。但是我有一个问题,我的客户端不支持 HTTP 基本授权。
有没有办法为 /oauth/token 端点禁用 HTTP 基本身份验证?我想在 JSON 正文或请求标头中发送 client_id 和 client_secret。
我想工作的 curl 示例:
或者
spring - 如何在数据库中存储经过 Facebook 身份验证的用户?
我尝试实现本教程https://spring.io/guides/tutorials/spring-boot-oauth2/#_social_login_logout 这是我的应用程序配置(spring boot)
它有效。我可以登录并可以按照教程中的说明获取用户信息。但是我不知道如何在登录后和重定向到主页之前找到将用户详细信息存储在数据库中的时刻,如果用户不存在并验证他的角色是否存在。
我怎样才能做到这一点?
spring-oauth2 - 在 Spring OAuth2 中自定义 TokenEndpoint
首先,我已经完成了关于这个主题的前面的问题。
我正在尝试自定义 org.springframework.security.oauth2.provider.endpoint.TokenEndpoint 和 CheckTokenEndpoint 的实现。我可以轻松做到这一点,但我不知道如何在 Spring Oauth2 Architecture 中插入该自定义实现。我在我的应用程序中使用 @EnableAuthorizationServer 注释。有人可以解释一下吗?