问题标签 [gluu]

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.

0 投票
2 回答
853 浏览

java - Spring Boot OpenId Connect 和 Gluu 的配置问题

我正在尝试让 POC 与 Gluu 一起工作。我按照https://spring.io/guides/tutorials/spring-boot-oauth2/上的教程进行操作,并使其与 facebook 一起使用。然后我试图把它移到gluu。通过另一篇关于 stackoverflow 的文章解决了几个问题,但现在我遇到了这个错误。
{ "error": "invalid_request_redirect_uri", "error_description": "The redirect_uri in the Authorization Request does not match any of the Client's pre-registered redirect_uris.", "state": "RexEdf" }

应用程序.yml: security: oauth2: client: clientId: "<my client id>" clientSecret: <my client secret> accessTokenUri: https://<gluu server>/oxauth/seam/resource/restv1/oxauth/token userAuthorizationUri: https://<gluu server>/oxauth/seam/resource/restv1/oxauth/authorize tokenName: oauth_token authenticationScheme: form clientAuthenticationScheme: form scope: openid resource: userInfoUri: https://<gluu server>/oxauth/seam/resource/restv1/oxauth/authorize

我在 gluu 和引导客户端上尝试了很多选项来尝试解决这个问题,但似乎没有任何效果。我假设这是一个简单的修复,但我无法找到任何有用的信息。

0 投票
1 回答
282 浏览

oauth - 注册后Gluu重定向

我刚刚开始使用 Gluu,而且大多数情况下它完全按照我的意愿工作。但是我在注册时遇到了一些困难。目前,当用户注册时,他/她会被重定向到 gluu 页面。我想要发生的事情是将用户重定向回将用户发送到注册页面(或至少是静态页面)的页面。

我知道这需要在用户注册脚本的 postRegistration 部分完成,但是我不太确定我需要做什么。

那么以前有人做过这样的事情吗?

编辑:

所以这就是我目前所处的位置... postRegistration 函数接受 4 个参数,self、user、requestParameters 和 configurationAttributes。

我假设self只是对自身的引用,因此在这种情况下它并不真正有价值,因为在该类中没有重定向的集合函数,并且它似乎没有任何有价值的参数。

user是即将注册的用户,是从下发过来的org.gluu.oxtrust.action.RegisterPersonAction,是一个org.gluu.oxtrust.model.GluuCustomPersonObject。我相信这是我解决此问题的最佳选择……尽管我不确定如何解决。它确实有一个setSourceServerName看起来很有希望的功能,但设置它并没有以任何方式改变结果。

requestParameters只是在 URL 中发送的查询参数。我尝试将这些设置为有效的 openid 代码身份验证参数,但没有效果。

configurationAttributes只是从 Gluu 发送到脚本中的静态参数(只是静态设置到脚本的参数)

此外,该函数必须返回一个布尔值,所以我假设需要做的是更改输入参数作为副作用,因此我仅有的两个选项是用户对象和 requestParameters。requestParameters 似乎只是 registerPersonAction 类中的一个私有映射对象,它似乎没有做任何特别的事情,所以改变它不应该有我想要的结果。因此它必须是我需要修改的用户对象。但是如前所述,我还不知道以什么方式

0 投票
1 回答
596 浏览

jira - Jira SAML 元数据示例?

我正在尝试让 Jira Cloud 与我的 Gluu 服务器集成以实现 SSO。我读过的所有内容都需要来自我的 SP 的元数据文件。Jira 在设置 SAML 时不提供该功能。它们提供 SP 实体 ID 和 SP 断言消费者服务 URL。有人有他们的 Jira 元数据文件的例子吗?我问了 Atlassian,但我还没有收到他们的任何消息。

0 投票
1 回答
295 浏览

ubuntu - 在 Ubuntu 上安装 Gluu Server(CE) 后,我的系统会再次自动重启。请建议我如何解决这个问题?

我按照以下命令在 Ubuntu 上安装 Gluu Server:

1.Add Gluu Repository
# echo "deb https://repo.gluu.org/ubuntu/xenial main" > /etc/apt/sources.list.d/gluu-repo.list
2.Add Gluu GPG Key
# curl https ://repo.gluu.org/ubuntu/gluu-apt.key | apt-key add -
3.Update/Clean Repo
# apt-get update
4.Install Gluu Server
# apt-get install gluu-server-3.0.1
5.Start Gluu Server 并登录
# service gluu-server-3.0.1 start
# service gluu-server-3.0.1 login
6.Run setup.py # cd /install/community-edition-setup
#./setup.py

0 投票
3 回答
16475 浏览

wso2 - Gluu vs keyclock vs wso2 身份管理

我的公司正在使用 Auth0 进行身份管理,我们希望迁移到以下之一:

  • 钥匙斗篷
  • Wso2身份管理

您能建议任何平台有哪些优点和缺点吗?是否有特别突出的功能或与从 Auth0 迁移特别相关的功能?

到目前为止,我能够安装 gluu 服务器、keycloak 和 wso2 似乎非常棘手。

0 投票
1 回答
610 浏览

oauth-2.0 - 如何使用自己的登录页面而不是 GLUU 自定义页面?

任何帮助表示赞赏。

目前,对于登录和注册,我都可以使用 OpenID Connect (OAuth 2) 授权代码流。但在这个过程中,我必须使用 GLUU 自定义页面。GLUU 页面经过定制,看起来像我们的组织应用程序登录页面。

我希望使用我们自己的组织应用程序登录页面,而不是自定义 GLUU 登录页面。

如何使用自己的登录页面而不是 GLUU 自定义页面?可能吗?

- 大卫。

0 投票
1 回答
238 浏览

keycloak - 角色活动和访问级别

我开发了一个具有以下架构的 Web 应用程序:

  • 前端:Angular 6
  • 后端:带有 Springboot 的 Java REST API

我想为其添加身份验证和授权。为此,我正在寻找一些开源应用程序(例如 KeyCloak、Gluu 等)。我想知道在哪个工具中支持以下场景。

  • UI 上将有一组预定义的活动(例如添加、编辑、删除等)
  • 将有预定义的访问级别(例如读、写、无访问)
  • 我应该能够创建角色,然后将活动和访问级别分配给这些角色,并将这些角色分配给用户。

你能帮我找出一个支持我上述场景的工具吗?

我为 KeyCloak 尝试了一些东西,但我找不到添加活动、访问级别和映射角色的方法。我认为那里的一切都只受角色支配。

我刚刚意识到我需要基于活动的授权而不是基于角色的授权。请帮我找到一些工具。

0 投票
3 回答
3496 浏览

angular - Angular-5登录后如何实现基于角色的重定向?

我是新手Angular,我正在使用Angular-5. 在我的应用程序中,我有 2 个屏幕/组件,分别称为“ Admin-Dashboard ”和“ HR-Dashboard ”。我的默认路线是 /Admin-Dashboard查看以下路线:

如果用户未登录我的AuthGaurd重定向用户到登录屏幕,则用户使用他的有效凭据登录。当用户登录时,用户用户被重定向到/即默认路由,然后自动重定向到/Admin-Dashboard

我的问题是我必须根据他的角色(HR 或 ADMIN)重定向到登录用户。如果user.role=="ADMIN"去 Admin-Dashboard,如果 user.role=="HR" 去 HR-Dashboard。

目前我的方法是,/Admin-Dashboard由于默认路由设置,用户首先重定向到,然后在其构造函数中我检查用户角色,如果是,HR我使用重定向用户到“HR-Dashboard” router.navigate()。这工作正常,但首先在地址栏中 /Admin-Dashboard呈现,然后重定向到 HR-Dashboard。

我正在寻找一些更好的方法来实现相同的功能。有什么方法可以让我检查路由本身是管理员还是 hr 并相应地重定向?

更新:对不起,我忘了提大事,我正在使用Gluu(第三方身份验证服务器)作为身份验证服务器,它将用户重定向到我的应用程序 url(https://ip/port例如' https://192.168.55.10:4200 ') 如果用户成功登录。我没有控制从 gluu 更改导航,它只会重定向到我的默认 URL 以及用户数据。即使是登录屏幕也不是我的应用程序的一部分,它托管在 cloude 上,我使用环境配置文件重定向到登录OIDC_Settings页面AuthGaurd

先感谢您。

0 投票
1 回答
1097 浏览

java - Spring Security OAuth 2 资源服务器:为 jwt 验证转换 jwks 不支持 use==enc

我正在尝试实现一个满足资源服务器 OAuth 角色的服务 (API)。我们有一个实现隐式流程的 Angular 客户端应用程序。我们使用 GLUU 作为我们的 OpenID 提供者。id_token客户端应用程序能够从授权服务器成功获取(JWT)。但是,当它调用 API(将该令牌作为授权标头中的不记名令牌传递)时,资源服务器无法尝试验证它。我收到一条JwkException消息:enc (use) is currently not supported.

我正在使用我的 GLUU 服务器提供的端点进行配置security.oauth2.resource.jwk.key-set-uriapplication.ymlhttps ://[my-gluu-server-host]/oxauth/restv1/jwks

资源服务器中的故障发生在这种方法中:org.springframework.security.oauth2.provider.token.store.jwk.JwkSetConverter.createRsaJwkDefinition(Map<String, String>)

具体来说,它发生在以下块中,它从/oxauth/restv1/jwks端点解析文档:

来自 GLUU 服务器的 jwks 文档除其他键外,还包括以下内容:

所以我的问题是,为什么org.springframework.security.oauth2.provider.token.store.jwk.JwkSetConverter当它看到一个不是用于签名的密钥时会抛出异常?在我看来,集合中是否有加密密钥并不重要。

可能我可以告诉 GLUU 不要包含这些键,但我似乎找不到任何支持这项工作的文档。

任何想法如何解决这个问题?

0 投票
1 回答
542 浏览

wso2 - 具有外部 GLUU OpenId Connect IDP 的 WSO2 身份服务器 - 身份验证方法 client_secret_basic 与 client_secret_post

我正在使用外部 OpenID Connect IDP 测试 wso2 身份服务器。外部 IDP 是 GLUU。

在我的测试用例中,我有三个组件:

  • 部署在 localhost:8099 上的简单 Web 应用程序
  • 部署在 localhost:9443 上的 wso2 身份服务器(使用其默认端口)
  • 部署在 localhost 上的 GLUU 服务器(使用其默认端口)

我要获取的流程是 OpenId Connect 授权码,我的“简单 Web 应用程序”(配置为 wso2is 中的服务提供商)需要 wso2is 的代码,被重定向到 GLUU 登录页面,获取授权码并交换授权码用于访问令牌。

“简单 Web 应用程序”在 wso2is 中注册为服务提供者(名称为“服务提供者测试”),其入站身份验证配置类型为“OAuth/OpenId 连接配置”。在此配置中,我设置了“简单 Web 应用”的回调 URL,以及我的简单 Web 应用用于获取访问令牌的客户端密码和客户端 ID。

“本地和出站身份验证配置”部分中的此“服务提供商测试”设置为联合身份验证,使用“我的 Gluu 测试 IDP”。

我的 Gluu 测试 IDP 是我添加到 wso2is 的“服务提供者”的身份提供者的名称。我已将 Gluu 的证书上传到“我的 Gluu 测试 IDP”。

在“My Gluu Test IDP”的“Federated Authenticators”部分中,我设置了一个“OAuth/OpenId Connect Configuration”,其中包含 GLUU IDP(客户端 ID、秘密、令牌和身份验证端点)的信息以及此 URL 回调:https://localhost:9443/commonauth

这是前提。

我第一次尝试这种情况,这是我得到的:

  1. 从我的“简单网络应用程序”调用 wso2is 授权端点
  2. 重定向到 GLUU 登录页面
  3. 回到我的“简单网络应用程序”回调 uri,其中包含错误而不是授权代码:{error_description=Authentication required, state=OX86oF, error=login_required, session_state=70b94648800ea5fa1e2476570ee9678225eaccc4deecea18ca9db022b7e1697c.fF2IdhJSG3aTE_TIsyGlYg}

与此错误相关的 wso2is 日志为:

TID:[-1234] [] [2018-09-21 10:33:10,529] 错误 {org.wso2.carbon.identity.application.authentication.framework.handler.step.impl.DefaultStepHandler} - invalid_client,客户端身份验证失败(例如未知的客户端、不包括客户端身份验证或不支持的身份验证方法)。授权服务器可以返回一个 HTTP 401(未授权)状态码来指示支持哪些 HTTP 认证方案。如果客户端尝试通过 Authorization 请求头字段进行身份验证,授权服务器必须以 HTTP 401(未授权)状态代码进行响应,并包含与客户端使用的身份验证方案匹配的 WWW-Authenticate 响应头字段。org.wso2.carbon.identity.application.authentication.framework.exception.AuthenticationFailedException:invalid_client,客户端身份验证失败(例如 G。未知客户端、不包括客户端身份验证或不支持的身份验证方法)。授权服务器可以返回一个 HTTP 401(未授权)状态码来指示支持哪些 HTTP 认证方案。如果客户端尝试通过 Authorization 请求头字段进行身份验证,授权服务器必须以 HTTP 401(未授权)状态代码进行响应,并包含与客户端使用的身份验证方案匹配的 WWW-Authenticate 响应头字段。在 org.wso2.carbon.identity.application.authenticator.oidc.OpenIDConnectAuthenticator.getOauthResponse(OpenIDConnectAuthenticator.java:585) 在 org.wso2.carbon.identity.application.authenticator.oidc.OpenIDConnectAuthenticator.processAuthenticationResponse(OpenIDConnectAuthenticator.java:370)在 org.wso2.carbon.identity.application。NioEndpoint$SocketProcessor.run(NioEndpoint.java:1734) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org .apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) 原因:OAuthProblemException{error='invalid_client', description='客户端身份验证失败(例如未知客户端、未包含客户端身份验证或不支持的身份验证方法)。授权服务器可以返回一个 HTTP 401(未授权)状态码来指示支持哪些 HTTP 认证方案。如果客户端尝试通过 Authorization 请求头字段进行身份验证,

在此错误之后,使用 GLUU 管理 UI,我将“令牌端点的身份验证方法”从 client_secret_basic 更改为 client_secret_post,然后我再次尝试测试,一切正常:

  1. 从我的“简单网络应用程序”调用 wso2is 授权端点。
  2. 重定向到 GLUU 登录页面
  3. 重定向到 WSO2IS 身份验证页面(OpenID 用户声明服务提供商测试应用程序请求访问您的个人资料信息......)
  4. 使用授权码返回我的“简单网络应用”回调 uri:{code=7269a75f-8702-3843-a553-465b69546a27, state=6yFD89, session_state=61d504abd9fe3cda28934f4aa394b156d6792071669f3020d4b79373bapyoc123
  5. 我的“简单网络应用”调用 wso2is 授权端点,传递代码,并获取 accecc_token

最后是我的问题:

在此测试场景中,我可以更改外部 IDP 的配置,但在实际场景中,我无法更改外部 IDP 上的该参数。我在 WSO2IS 身份提供程序配置中找不到如何从 client_secret_basic、client_secret_post、client_secret_jwt、private_key_jwt、无中进行选择。

在不将 GLUU IDP 设置从 client_secret_basic 更改为 client_secret_post 的情况下,我应该在 wso2is 的配置中进行哪些更改才能使这种情况正常工作?