Java OAuth令牌API在弹性搜索中不工作
我不熟悉弹性搜索。通过Java OAuth令牌API在弹性搜索中不工作,java,spring-boot,
elasticsearch,oauth-2.0,kibana,Java,Spring Boot,
elasticsearch,Oauth 2.0,Kibana,我不熟悉弹性搜索。通过Java High Level Rest Client将我的Spring boot应用程序与弹性搜索集成,在设置证书和密码后,我通过提供以下属性启用了安全性: xpack.security.enabled: true xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ss
Java High Level Rest Client
将我的Spring boot应用程序与弹性搜索集成,在设置证书和密码后,我通过提供以下属性启用了安全性:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: "http.p12"
我在kibana.yaml中也做了必要的更改,我可以访问它。
尝试通过Kibana进行以下调用以获取OAuth令牌:
POST /_security/oauth2/token
{
"grant_type" : "password",
"username" : "elastic",
"password" : "password_for_elastic_super_user"
}
在kibana中执行后出现以下错误:
{
"error" : {
"root_cause" : [
{
"type" : "security_exception",
"reason" : "current license is non-compliant for [security tokens]",
"license.expired.feature" : "security tokens"
}
],
"type" : "security_exception",
"reason" : "current license is non-compliant for [security tokens]",
"license.expired.feature" : "security tokens"
},
"status" : 403
}
我也点击了,得到了以下回应:
{
"license" : {
"status" : "active",
"uid" : "62b089de-422e-41f0-88c8-9ad76b27cd62",
"type" : "basic",
"issue_date" : "2020-06-25T07:17:48.310Z",
"issue_date_in_millis" : 1593069468310,
"max_nodes" : 1000,
"issued_to" : "elasticsearch",
"issuer" : "elasticsearch",
"start_date_in_millis" : -1
}
}
有人能帮我解决这个问题吗?请通过邮递员试试:
Basic Auth
grant\u类型
如果您使用的elasticsearch的
基本版
没有此安全功能(安全令牌),并导致此问题,您可以参考中“弹性堆栈安全”一节中“什么许可证”中包含的内容
安全令牌
功能在同一订阅页面中提到的基本许可证下不可用,并且可从黄金层获得
如上所示,从中确认此异常是在运行集成测试时引发的,这是引发的通用异常消息的,当前许可证不符合
如果您想使用安全令牌
功能,您必须升级到最低黄金级别。尝试通过邮递员调用一次。添加基本身份验证。请在正文中传递grant\u type
。感谢您的回答,尝试了,但得到了与Kibana中相同的错误。您可以通过设置xpack.security.enabled:false进行尝试。不要忘记在配置更改后重新启动。这将破坏安全实现的目的!出现此错误的原因应该是缺少了一些内容。错误表示Xpack的许可证已过期
。因此,建议您要么应用免费的基本许可证,要么禁用xpack.security。基本许可证无权使用安全功能。要尝试安全性,您需要使用试用许可证。谢谢您的回答!如何将许可证类型更改为basic?@DevChauhan更新了我的answer@DevChauhan谢谢你接受这个答案,现在你得到了另一个问题的答案,我也提供了解释,你能投票并接受吗:)