【问题标题】:WSO2 Identity Server: Edit a service provider that was in the /repository/conf/identity/service-providers folderWSO2 身份服务器:编辑 /repository/conf/identity/service-providers 文件夹中的服务提供者
【发布时间】:2019-01-18 20:02:03
【问题描述】:

我在previous post 中提出了类似的问题,但我认为这值得单独发帖。

在 WSO2 身份服务器中,我知道如果将服务提供者放在文件夹 /repository/conf/identity/service-providers 中,则可以配置它们(仅在首次启动时)。我也明白,如果它们是在首次启动时配置的,它们在管理控制台 ui 中是不可见的。

您如何编辑它们?假设我想编辑现有服务提供商的声明?更改允许的 OAuth 授权类型?连服务商都删了?

如果我在控制台中看不到服务提供商,我该如何编辑或删除它?

一个后续但相关的问题:WSO2 提供的“一次性完成”服务提供商设置背后的原因是什么?我希望在我的 WSO2 实现的整个生命周期中添加服务提供者,如果我可以将文件放在文件夹中(repository/conf/identity/service-providers 文件夹仅在第一次启动时有效),那将更容易很多并重新启动我的服务器,而不是进入 UI 并执行多次单击以手动配置服务提供商或通过文件手动上传。

编辑:@sajith 指出您应该根据本文中的信息即使在服务器启动一次后也能够配置服务提供者:https://docs.wso2.com/display/IS570/Configuring+a+SP+and+IdP+Using+Configuration+Files .但是,我还没有看到它成功运行。我知道发生了一些事情,因为如果我尝试通过控制台(通过文件上传)上传服务提供商,我会收到错误消息:

控制台输出:

Caused by: org.wso2.carbon.identity.application.common.IdentityApplicationManagementException: Application with the same name loaded from the file system.

所以看起来 WSO2 服务器正在识别并加载新的服务提供者(即使在第一次启动之后),但我无法对它们进行身份验证。尝试针对新服务提供商进行身份验证时的示例响应:

{
    "error_description": "A valid OAuth client could not be found for client_id: test",
    "error": "invalid_client"
}

【问题讨论】:

  • can't see the service provider in the console, how can I edit or delete it? 只需编辑或删除文件并重新启动服务器。或者它不适用于当前版本?事实上,我们看不到哪些配置已正确读取,哪些配置不正确,这有点棘手:/

标签: wso2 wso2is


【解决方案1】:

如果我在控制台中看不到服务提供商,我该如何编辑或 删除它? WSO2 提供的“一劳永逸”服务提供商设置背后的原因是什么?

This document 表示您可以重新启动 WSO2 身份服务器,以将基于文件的服务提供者和身份提供者配置(位于 <IS_HOME>/repository/conf/identity/ 中的配置)应用于系统。

我假设您已经混合了以下关于 claim configurations 的注释。

在 /repository/conf/claim-config.xml 中配置的声明 文件仅在您第一次启动产品时应用, 或任何新创建的租户。在第一次启动时,声称 方言和声明将从文件中加载并保存在 数据库。不会获取文件的任何连续更新 并且声明方言和声明将从数据库中加载。

编辑:

{ "error_description": "一个有效的 OAuth 客户端找不到 client_id: test", “错误”:“无效客户端”}

您的previous question 已经回答了这个问题。 invalid_client的出现是因为你在sp config文件中设置了一个client id,但是身份服务器不支持通过这个文件配置InboundAuthenticationConfig。

目前, 不支持部署文件中的 InboundAuthenticationConfig。 但是,您可以在 WSO2_HOME/repository/conf/identity/sso-idp-config.xml 文件。

因此,您可以为此目的使用 SOAP 管理服务。

【讨论】:

  • 感谢您的回复。不幸的是,重新启动 WSO2 服务器不会获取 repository/conf/identity 文件夹中的更改。我将新的服务提供者放在文件夹repository/conf/identity/service-providers 中,然后使用命令wso2server.bat -Dstart 重新启动服务器我也尝试过wso2server.bat。我错过了什么吗?
  • @stanaka,更新了关于您的新问题的答案
  • 谢谢。我对 SAML 的引用有点困惑。我使用的是 OAuth 而不是 SAML。这是否意味着我根本不能使用 .xml 配置,或者我必须以某种方式使用sso-idp-config.xml 文件?根据本教程,我在遵循如何使用该文件进行 OAuth 时遇到问题:docs.wso2.com/display/IS510/…
  • 我不明白如何使用sso-idp-config.xml 文件来设置服务提供商的oauthConsumerKeyoauthConsumerSecretgrantTypesoAuthAppDO 标记中的所有内容)在我一直放在service-providers文件夹中的xml文件中)。我是专门使用sso-idp-config.xml 文件设置我的服务提供商,还是每个服务提供商都有自己的xml 文件?
  • 正如stackoverflow.com/questions/50802890 的答案所说,目前您无法通过配置文件创建 OAuth / OIDC 应用程序。它不会填充 OAuth / OIDC 应用程序的“入站身份验证配置”部分。因此,您可以为此目的使用 SOAP 管理服务。
猜你喜欢
  • 2016-01-22
  • 2016-01-11
  • 2017-08-12
  • 1970-01-01
  • 2013-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多