【问题标题】:Cannot change credentials for wso2 api manager Analytics无法更改 wso2 api manager Analytics 的凭据
【发布时间】:2019-02-21 13:19:38
【问题描述】:

我在 3 个节点(即 3 个虚拟机)内部署了 API Manager 2.6.0。缩写:

  1. GW - 网关
  2. AIO - 流量管理器、密钥管理器、开发门户、发布者
  3. Analytics - Api M Analytics 2.6.0
  4. 数据库 - PostgreSQL。

我已经设置了组件之间的所有工作,直到我更改了默认管理员密码,用户名保持不变。 按照手册我做了

  1. 从 UI 更改了管理员密码,因为我已经使用默认凭据进行了测试
  2. 更改了 AIO 和 GW 上 api-manager.xml 中的密码
  3. 更改了 AIO 和 GW 上 user-mgt.xml 中的密码
  4. 更改了 AIO 和 GW 上 jndi.properties 中的密码

手册中注明的 4 分以上-https://docs.wso2.com/display/AM260/Maintaining+Logins+and+Passwords 本手册没有说明如何使分布式分析节点接受该密码。

Analytics Install manual 告诉安装 WSO2 API-M Analytics 和 WSO2 API-M(据我了解,这意味着如果两者都在同一台机器上)。同样,本手册并没有详细说明用户在 Analytics 服务器上的配置。

我尝试从 DAS 和 SP manual 查找,但 Analytics 没有 auth.configs: 在 YAML 文件中,并且从 SP 源代码手动添加它们也没有帮助。

在 GW 和 AIO 上返回错误:

2019-02-21 15:13:52,090 [-] [DataBridge-ConnectionService-tcp://192.168.102.39:7612-pool-11-thread-1] 错误 DataEndpointConnectionWorker 尝试连接到端点时出错。无法为 ssl://192.168.102.39:7712 借用客户端。 org.wso2.carbon.databridge.agent.exception.DataEndpointLoginException:无法为 ssl://192.168.102.39:7712 借用客户端。

原因:org.wso2.carbon.databridge.agent.exception.DataEndpointLoginException:尝试登录数据接收器时出错。

原因:ThriftAuthenticationException(message:wrong userName or password)

在分析方面很明显:

[2019-02-21 15:16:49,016] 错误 {org.wso2.carbon.databridge.core.internal.authentication.CarbonAuthenticationHandler} - 用户名“admin”的身份验证失败。错误:'Invalid_Credentials'。错误描述:'用于登录的登录凭据无效,用户名:'admin'。' [2019-02-21 15:16:49,016] 错误 {org.wso2.carbon.databridge.core.internal.authentication.Authenticator} - 用户名或密码错误

问题是,如何让与 API Manager 分离的 WSO2 APIM Analytics(2.6.0) 节点接受更改后的凭据。

最后一个问题是我需要将 Analytics 连接到 Carbon DB 吗?

【问题讨论】:

  • 您所说的“也不能从 SP 源代码手动添加它们有帮助”是什么意思?您添加的配置与答案中的配置有什么不同吗?
  • 不,完全一样,我从流处理器配置中摘录,现在我已经注释掉了。 Aaaand 可能就是这样。 (facepalm),我稍后会尝试加密。

标签: wso2 wso2-am wso2sp


【解决方案1】:

您必须将 auth.configs 元素添加到 conf/worker/deployment.yaml 文件中,(请注意密码必须是 Base64(UTF-8) 加密的)

auth.configs: 
  type: 'local'
  userManager:
    adminRole: admin
    userStore:
      users:
       -
         user:
           username: admin
           password: YWRtaW4=
           roles: 1
      roles:
       -    
         role:
           id: 1
           displayName: admin

【讨论】:

  • 所有问题都在 Base64 加密中,我不知何故错过了......谢谢!
  • 字符串末尾的=号是符号!大多数时候都是64进制的标志! :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-11
  • 2020-04-17
  • 2013-02-05
  • 1970-01-01
  • 2021-01-22
  • 1970-01-01
相关资源
最近更新 更多