问题标签 [cloudfoundry-uaa]
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.
spring-boot - 在 Spring Boot 应用程序上使用 oauth2 单点注销
我已使用 oauth2 协议将我的应用程序与 Cloud Foundry UAA 服务器集成。我发现单点登录很容易,但不注销。这对我来说听起来很尴尬。任何实现退出的优雅方式,我都希望退出与 UAA 集成的所有应用程序。
oauth-2.0 - 使用 CloudFoundry-UAA 作为身份提供者时,无法在 WSO2 身份服务器上生成 Oauth2 访问令牌
我已按照https://docs.wso2.com/display/IS530/Try+Authorization+Code+Grant中提到的步骤进行操作。除了这些步骤之外,我还将 Cloudfoundry-UAA 配置为身份提供者,并使用 Cloudfoundry 用户生成访问令牌。我可以按照上面链接中提到的步骤生成授权代码。但是,当我使用授权代码生成访问令牌时,我收到以下错误 invalid_grant,提供的授权授权无效
对此的任何投入都将受到高度赞赏。需要有关如何调试此问题的帮助。UAA API 可以在这里找到
cloud-foundry - 从 UAAdb 中检测和删除重复的用户
我遇到了一个问题,即用户在 uaa 数据库中使用相同的用户名存在两次。是否有任何脚本可以检测复制的用户和删除?
您建议检测和删除的最佳方法是什么?
java - java.util.zip.ZipException:无效的块类型
当 java spring boot 应用程序 jar 试图推送到云(cloudfoundry)时。得到以下异常。
有人可以帮助我。不知道为什么突然抛出这个异常。以前它运作良好。
预先感谢。
cloud-foundry - 访问 Cloudfoundry 本地应用程序 URL 时出错
我需要一些有关本地关键 Cloud Foundry VM 中本地部署应用程序的帮助。
最近,我在 Windows Server 2012 VM 中安装了关键的云代工厂,并在本地部署了 Spring-music 应用程序。现在我想与其他人共享这个 url,但是当我将 APP PUSH 命令中生成的 URL 提供给其他人时,他们无法看到该应用程序。您能否帮助如何将 APP url 分享给其他人,以便他们可以查看该应用程序。
http://spring-music.local.pcfdev.io/ -- 这是本地应用程序的 URL
我尝试了一些命令来创建我自己的共享域并路由到它在从其他系统访问应用程序时仍然面临问题。
在尝试了所有这些之后,我也无法使用生成的 url 访问应用程序。任何人都可以帮助我为外部系统生成一个 URL 以访问我的 APP。
提前致谢。
spring-boot - Spring cloud Zuul 和 JWT 刷新令牌
我有一个使用 Spring Cloud 组件(eureka、zuul 和 auth 服务器)的本地编排环境。这些组件都作为单独的独立服务实现。然后,我拥有越来越多的组合 UI/资源服务,其中各个服务都有自己的 UI。UI 使用 thymeleaf 模板放在服务器端,但本质上是在浏览器中运行的 angularjs 单页应用程序。
单个 Zuul 服务面向所有 ui/resource 服务。我已经注释了所有的 ui/resource 服务@EnableResourceServer
并添加@EnableOAuth2Sso
到 Zuul 服务器。
在 Zuul 的 application.properties 中,我具有以下属性:
这一切似乎都像宣传的那样工作。我的问题是令牌何时到期。
在身份验证服务器中,我将令牌设置为 60 秒后过期,刷新令牌设置为 12 小时后过期。当令牌过期时,zuul 服务器无法获取新令牌。
在 zuul 服务器上,这会出现在日志中:
BadCredentialsException :无法获得由 OAuth2TokenRelayFilter.getAccessToken 抛出的有效访问令牌
更新: 我在 Zuul 服务中打开了 org.springframework.security.oauth 的调试,得到以下信息
在 Auth (uaa) 服务端我可以看到 zuul 客户端 (waharoa) 进行身份验证,获取正确用户的详细信息,然后打印:
我想这意味着身份验证服务器已经完成了它需要做的事情并回复了请求?看起来 Zuul 服务上的设置不正确,有什么建议吗?
有人可以建议我需要在此处发布哪些其他信息来找出令牌刷新不起作用的原因。我是一个spring cloud noob,这个约定黑魔法对我来说不是很清楚(我已经搜索并搜索了我认为是常见用例的示例,但一无所获)。
Note2:我在 Zuul 端已经有以下 bean
遵循@AlexK 的建议,我还在 Auth 端添加了以下 UserDetailsService Bean
并将其添加到我的身份验证服务器配置中
但同样的结果。refresh_token 发生,但当响应到达 Zuul 过滤器时,它似乎仍然死亡。
注3:
@AlexK 实际上是正确的。我发现在刷新令牌时,它不仅仅是从令牌存储中刷新,它需要调用底层 UserDetailsService 以再次获取用户详细信息。当我从 Active Directory 获取详细信息时,这需要大量的试验和错误才能解决,但现在可以像宣传的那样工作。我的(缺少)简单的 UserDetailsService bean,它被自动装配到配置中,如注 2所示:
cloud-foundry - 通过编程和交互式端点重用 Cloud Foundry 中的服务
我想知道是否有可能实现其他 CF 应用程序可以订阅的 Cloud Foundry 托管服务,具有以下要求,并且(或多或少)在现有的 CF 设施内......
问题的上下文是将现有的基于 CF Java 的应用程序转换为可重用的服务,该服务只能部署一次并由其他(相互不相关的)应用程序重用,而不是每个应用程序(或应用程序集)都必须合并一个私有部署的实例服务。
简而言之,订阅应用程序应该能够将他们的数据存储在服务中,并且交互式用户可以访问这些数据。(数据的一个示例可以是订阅应用程序发送的特定用户的消息、工作项等,并且该服务负责在每个用户的基础上聚合它们并向登录的用户显示目标数据的摘要对着他。)
因此,要求将是:
CF 托管的应用程序应该能够动态订阅(然后取消订阅)该服务。
订阅应用程序可以共享或拥有不同的身份提供者 (IdP) 和 UAA 实例。
该服务有两种端点:
- 订阅应用程序用于 app2service(REST 等)调用的端点
- 旨在供在订阅应用程序的 IdP 中注册的用户进行交互式访问的端点
服务的交互式端点(最好)受范围保护。服务必须(最好)可以将其范围定义导出到订阅应用程序的 UAA(或者更确切地说,订阅应用程序/UAA 在设计、部署或订阅时导入它们),并且服务的管理员必须能够指定 UAA 将服务定义的范围分配给通过此 UAA/IdP 组合注册的适当用户(即与订阅应用程序关联的用户)。
4.1。至少,交互式端点可能不受范围保护,但它们应该要求并触发身份验证(例如,在其 Spring 安全描述符中具有“intercept-url access=isAuthenticated()”)。servlet 应该能够检索 JWT 令牌并识别发出请求的用户。
- 服务应该有一种方法可以在用户 ID 命名空间和订阅 ID 之间建立关联。
与两个不同 IdP 关联的两个不同订阅上下文可能都有用户“John”,但这是两个不同的 John。
因此,当用户 John 到达服务的交互式端点时,服务需要能够确定 John 映射到哪个 IdP/订阅集(以及数据集)。
或者相反,当订阅的应用程序执行 app2service 调用时,服务应该能够以经过身份验证的方式识别调用者的订阅 id,然后确定它与哪个 IdP 关联。无论哪种方式,订阅机制都必须在订阅 id 和订阅应用程序使用的 IdP 之间建立映射;该服务将需要知道此映射。
5.1。当两个不同的 UAA 实例指向同一个支持 IdP 时,不太确定事情会如何解决。
也许 UAA 可以显示其实例身份,但是否可以使其(在生成的 JWT 令牌中)显示支持 IdP 的身份,并且可以对后者进行签名吗?
它是现有 CF 设施提供的东西,还是可以在它们之上轻松实施的东西?
谢谢。
cloud-foundry - CloudFoundry UAA 多实例
跨 CloudFoundry 基础的 UAA 推荐设置是什么?当客户端可以在基础之间路由时,如何确保客户端不会重新进行身份验证?更具体地说:如果在一个基础中生成访问/id 令牌,它可以在另一个基础中使用吗?
oauth-2.0 - UAA:当有重复用户时将用户添加到组?
我正在与 cloudfoundry 的 UAA 合作。有两个用户使用相同的电子邮件:saml 和 uaa。当我这样做时get
,uaac 要求我选择用户:
为了避免这个问题,我也可以这样做:
当我这样做的时候
我有:
我做不到
那么如何将一个特定用户添加到 UAA?
authentication - Cloudfoundry-UAA 中哪个组是“全部”?
身份提供者 (SAML) 的所有者将使用 cloudfoundry-UAA 与我的应用程序/资源服务器进行交互。我有一些资源应该对每个成功登录的用户都可见。因此,如果有一个每个用户都自动成为其成员的组 - 它会让我统一处理所有与权限相关的情况
所以:是否有任何组自动添加到所有用户?即使对于那些使用 SAML 登录的用户?是uaa.user
吗?我们能以某种方式区分不同区域的用户吗?喜欢zone1.uaa.user
?