使用令牌在 Azure 应用 url 上调用 WebRequest
Invoke-WebRequest on a Azure App url with token
我有一个来自我的 Azure 应用程序网站的 url。我想做的是使用 token.
对此 url 进行 Web 请求
我设法用与here相同的方法检索到令牌$token。以下命令运行良好
Invoke-WebRequest "https://graph.microsoft.com/v1.0/me" -Headers @{Authorization="Bearer $token"}
然后我试了
Invoke-RestMethod -Uri "myurl" -Headers @{"authorization" = "Bearer $token"}
但我遇到了以下问题:
Invoke-WebRequest : {"code":401,"message":"IDX10511: Signature validation failed. Keys tried: '[PII is hidden]'. \u000akid: '[PII is hidden]'. \u000aExceptions caught:\u000a
'[PII is hidden]'.\u000atoken: '[PII is hidden]'."}
看来签名无效。知道为什么以及如何解决它吗?
谢谢
它不起作用,因为令牌是针对 Microsoft Graph API,而不是您的 API。
要为您的 API 获取访问令牌,请为其应用注册添加一个范围(公开一个 API 选项卡)。
然后在获取令牌时,将该范围的完整值分配给 scope
查询参数。
此完整值将包括 API 应用程序注册的 App ID URI 或客户端 ID + 您为范围定义的值。
我有一个来自我的 Azure 应用程序网站的 url。我想做的是使用 token.
对此 url 进行 Web 请求我设法用与here相同的方法检索到令牌$token。以下命令运行良好
Invoke-WebRequest "https://graph.microsoft.com/v1.0/me" -Headers @{Authorization="Bearer $token"}
然后我试了
Invoke-RestMethod -Uri "myurl" -Headers @{"authorization" = "Bearer $token"}
但我遇到了以下问题:
Invoke-WebRequest : {"code":401,"message":"IDX10511: Signature validation failed. Keys tried: '[PII is hidden]'. \u000akid: '[PII is hidden]'. \u000aExceptions caught:\u000a
'[PII is hidden]'.\u000atoken: '[PII is hidden]'."}
看来签名无效。知道为什么以及如何解决它吗? 谢谢
它不起作用,因为令牌是针对 Microsoft Graph API,而不是您的 API。
要为您的 API 获取访问令牌,请为其应用注册添加一个范围(公开一个 API 选项卡)。
然后在获取令牌时,将该范围的完整值分配给 scope
查询参数。
此完整值将包括 API 应用程序注册的 App ID URI 或客户端 ID + 您为范围定义的值。