gpt4 book ai didi

java - JHipster:如何使用未经身份验证的用户从 UAA 服务器安全调用微服务

转载 作者:行者123 更新时间:2023-11-30 02:08:42 25 4
gpt4 key购买 nike

亲爱的 StackOverflow 社区,

我发现其他人已经问过与我的问题类似的问题 here但没有收到任何好的答案。

我想在 UAA 服务器上激活用户后(在 AccountResource 中调用 activateAccount() 时)立即在微服务 A 上创建一个实体。此时,用户尚未经过身份验证,因此我无法像在其他微服务上那样使用 AuthenticatedFeignClient。当我在微服务 A 上禁用身份验证并使用 FeignClient 时,如 JHipster Docs 中所述,它按预期工作,但我不想让端点可从外部访问。有没有办法让UAA服务器进行自身身份验证或者只允许UAA服务器访问微服务A的API中的这个特定端点?

编辑:

我终于使用 AuthenticatedFeignClient 让它工作了。我只是将客户端包和 FeignConfiguration 从微服务复制到 uaa 服务器,并更改 application-dev.yml 和 application-prod.yml 中的安全设置,如下所示:

security:
client-authorization:
access-token-uri: uaa/oauth/token
token-service-id: uaa
client-id: internal
client-secret: internal

最佳答案

尽管您已经找到了正确的解决方案,但我应该快速解释为什么这是正确的。

JHipster UAA 支持两种不同的授权流程:用户到服务和服务到服务。第一个是最常用的。这是当您想要控制允许用户在您的应用程序中执行的操作时。

服务到服务的调用不包含任何与用户相关的问题,因为不是用户“登录”,而是您的微服务本身。这就是为什么应该添加配置。

将注释界面从其他应用程序复制到 UAA 中的设计有点糟糕。我正在考虑将这些注释从生成的代码移动到 JHipster 库中来解决这个问题。

关于java - JHipster:如何使用未经身份验证的用户从 UAA 服务器安全调用微服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50721639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com