在Azure上发布WebApi之后的“ unsupported_grant_type”

时间:2019-05-28 01:41:55

标签: azure authentication asp.net-web-api azure-active-directory owin

我正在创建一个WebApi,用于访问Azure上托管的数据库。在实施基于令牌的身份验证之后,它可以在本地完美运行,但是在Azure上发布它之后,当我尝试获取访问令牌时,在Postman上进行测试时,我会不断收到消息:"error": "unsupported_grant_type"。我需要在Azure上配置其他功能吗?

我正在请求具有以下参数/设置的令牌:

"Content-Type", "application/x-www-form-urlencoded"
username: xxx
password: xxx
grant_type: password

正如我所说,使用这些参数,我可以在本地很好地接收访问令牌(如下所示),该问题仅在将其部署到Azure后才会发生。

{
    "access_token": "Daak3ZrEzMkcd-dCbEdN0FTjdc9QYexA5wfHtYBRQIdx0dJtX1RL3LR6rqXhKvr84J6qS0CyDwuVw3w3T-b6iXtVG3utqTda98EcQJUgDZjvnq6tgsml4tbkAQRYLX0BPYidk5JvdRHMLaoQkP3vYJYnCefWPN-jBPb9xdyyk-ZtgOxKVUcBECGeZeWKkSl2ZL7Mtg_opc5ryxedQbNcQkFAk1z4oBEuYSaUllGHJlswqq1lbZq-BUOTwroZFzae",
    "token_type": "bearer",
    "expires_in": 3599
}

本地: postman request made locally

部署到天蓝色后: postman request made after deploy

到目前为止,我还没有通过代码发出请求,仅使用邮递员

有人遇到过类似的问题吗?谢谢!

1 个答案:

答案 0 :(得分:0)

似乎您正在尝试使用Resource owner password credential (ROPC)访问您的API。但是这种流程对天蓝色的门户网站几乎没有限制。

请仔细阅读Important注释。

enter image description here

您可以使用:

MatheusSchneider@YourTennant.onmicrosoft.com

但不是 MatheusSchneider@outlook.com

  

注意:由于Microsoft不建议此身份验证流程,这可能是在azure portal上部署之后的原因。我会   建议您使用其他身份验证流程代替此方法。您   可以检查here