PowerShelllibjava正在从Docker容器中的Java代码中获取无效的JSON令牌

发布于 2025-01-21 23:14:22 字数 615 浏览 0 评论 0原文

我正在使用powershelllibjava( https:// https://github.com/tuupertub.com/tuupertunut/powershelllibjava,从Azure访问令牌。 早些时候,它在Docker容器中工作正常。 在Windows Machine上,其工作正常,但是在Docker容器中获取时,它提供了无效的访问令牌(二进制内容而不是JSON)

,可以成功地登录登录

az login --allow-no-subscriptions -u <emailAddress> -p <password>

通过“ executecommands”使用此命令来获取令牌

az account get-access-token --resource-type ms-graph

groovy脚本和Shell都可以在容器中获取有效的访问令牌,但是Java代码未能获取令牌。

I am using PowerShellLibJava (https://github.com/Tuupertunut/PowerShellLibJava) in java code to fetch access token from azure.
Earlier it was working fine in docker container.
On windows machine, its working fine but when fetching in docker container it's providing invalid access token (binary content instead of JSON)

To login using command

az login --allow-no-subscriptions -u <emailAddress> -p <password>

login successfully.

using this command through "executeCommands" to fetch token

az account get-access-token --resource-type ms-graph

groovy script and shell both are able to fetch valid access token in container but java code is failing to fetch the token.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

知足的幸福 2025-01-28 23:14:22

在Docker容器中获取它提供无效的访问令牌(二进制内容而不是JSON)

该错误表明您在获得时不转换JSON ,同时获得访问令牌

1。使用AZ-CLI

您可以从JSON转换访问令牌。

# Get Access Token
az  account  get-access-token  --resource  ms-graph  |  ConvertFrom-Json

2。使用PowerShell,

您可以使用 get-azaccesstoken 获取MS-Graph

# Get Access Token
$graphToken =Get-AzAccessToken -ResourceTypeName MSGraph

参考

的访问令牌比较 Azaccesstoken

Fetching in a docker container it's providing an invalid access token (binary content instead of JSON)

The error shows that you are not converting the JSON while getting the Access Token.

1. Using AZ-CLI

you can convert the Access token from JSON.

# Get Access Token
az  account  get-access-token  --resource  ms-graph  |  ConvertFrom-Json

2. Using PowerShell

You can use the Get-AzAccessToken to get the Access Token of ms-graph

# Get Access Token
$graphToken =Get-AzAccessToken -ResourceTypeName MSGraph

Reference

Compare get-access-token and Get-AzAccessToken

漆黑的白昼 2025-01-28 23:14:22

经过深入的调查,我发现命令响应以UTF8 BOM开头,这使JSON响应在程序代码中无效。 Windows PowerShell确实处理BOM本身。

After deep investigation, I found that command response start with a utf8 BOM which was making JSON response invalid in the program code. Where as Windows PowerShell does handle BOM itself.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文