Azure Web 应用的 Spring Boot API 密钥设置

Spring boot API key setup for azure web app

提问人:Yauheni 提问时间:3/20/2023 更新时间:3/20/2023 访问量:174

问:

我的 azure web 应用的 API 密钥有问题。我有 Spring Boot 应用程序,我在其中设置了 Poatman 和 Localy,一切正常(我在 Postman 环境中指定了标头和 KEY)。但是部署后我有.SecurityConfigurationAPIKeyAuthenticationFilterWhitelabel Error Page 403 Access Denied

关于安全性,在application.yaml中,我有

#Security
ecoopt:
  http:
   auth-apikey-header-name: MyAppAPIKey
   auth-header-apikey: ${env.ecoopt_apikey:DEFAULT_API_PASSWORD}

这些值是这样使用的SecurityConfiguration

@Value("${ecoopt.http.auth-header-apikey}")
private String principalRequestValue;

@Value("${ecoopt.http.auth-apikey-header-name}")
private String principalRequestHeader;

再。localy 使用 Postman,一切都很好。

如何指定我的环境变量,该变量位于 Azure 门户 -> 配置->应用程序设置... 它应该看起来像 - 名称: 和值:ecoopt_apikeyecoopt_http_auth-header-apikeymySecretKey

enter image description here

spring-boot Azure API 安全 密钥

评论

0赞 Soumen Mukherjee 3/20/2023
您能否分享正在工作的帖子大纲,请屏蔽使用的值......
0赞 grekier 3/20/2023
在应用程序设置中设置为名称就足够了ecoopt_apikey

答:

1赞 Pravallika KV 3/20/2023 #1

白标错误页面 403 访问被拒绝

  • 此错误表示您无权访问所请求的资源。
  • 如果未在标头中指定 API 密钥,或者无法从应用程序中的应用服务提取特定配置,或者指定的 API 密钥不正确,则会导致 403 访问被拒绝错误。

如何在 Azure 门户中指定我的环境变量ecoopt_apikey

根据我的理解,您正在尝试将其值添加为应用服务中的应用程序设置。ecoopt_apikey

  • 导航到 Azure 门户中的应用服务。

  • 转到左窗格中的“设置”,然后选择“配置”。

  • 单击应用程序设置,并通过提供正确的名称和值作为键值对来创建它,并保存它,如下所示:

enter image description here

评论

0赞 Yauheni 3/20/2023
黑!感谢您的回复!名称中似乎不允许使用连字符 (-)。我是否应该重命名为例如:ecoopt_http_authHeaderApikey
0赞 Yauheni 3/20/2023
或者有解决方法?
0赞 Pravallika KV 3/20/2023
您可以尝试使用下划线。
0赞 Yauheni 3/20/2023
谢谢!我实际上打算做同样的事情,但不知道该如何处理 hypehn。你能帮我解决这个问题吗:stackoverflow.com/questions/75783073/......
0赞 Yauheni 3/27/2023
嗨,@Surya,(不完全确定你的意思)我已经接受了 Pravallika KV 的回答。在stackexchange中发布了新问题:meta.stackexchange.com/questions/387907/...