Home > Enterprise >  Invoke-WebRequest on a Azure App url with token
Invoke-WebRequest on a Azure App url with token

Time:11-17

I have an url from one of my azure app website. What I want to do is to do a Web request on this url by using token.

I managed to retrieve the token $token with the same method as here. And the folowing command worked fine

Invoke-WebRequest "https://graph.microsoft.com/v1.0/me" -Headers @{Authorization="Bearer $token"}

Then I tried

Invoke-RestMethod -Uri "myurl" -Headers @{"authorization" = "Bearer $token"}

But I got the folowing issue :

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]'."}

So it seems that the signature is not valid. Any Idea why and how to fix it ? Thanks

CodePudding user response:

It does not work because the token is for Microsoft Graph API, not your API.

To acquire an access token for your API, add a scope to its app registration (Expose an API tab). Then when acquiring a token, assign that scope's full value to the scope query parameter. This full value will include either the App ID URI or the client ID of the API app registration the value you define for the scope.

  • Related