在 POST 请求上启用 Azure 移动服务身份验证会导致 "Resource does not support GET"

Turning on Azure Mobile Service Authentication results in "Resource does not support GET" on a POST Request

我尝试通过 Azure 移动应用程序中的身份验证端点实施自定义身份验证。我创建了一个 Api 控制器,它使用 Azures AppServiceLoginHandler.CreateToken 方法创建 Jwt。当我在关闭 Azure App Service 身份验证的情况下 post 到这个控制器时,我得到了一个令牌,但是当我以后想使用它时,我总是收到“401 未授权”。

但是当我在 Azure 门户中打开设置并发送完全相同的请求时 我得到:

The requested resource does not support http method 'GET'.

我没有更改任何代码,而且我肯定在使用 POST 请求 - 完全相同的请求,适用于关闭的应用服务身份验证。

我的代码与此处基本相同: https://www.newventuresoftware.com/blog/custom-authentication-with-azure-mobile-apps

有没有大神能指教一下?我需要在某处进行额外配置吗?

正如阿德里安·霍尔关于 Custom Authentication 的书中所述:

You must turn on Authentication / Authorization in your App Service. Set the Action to take when request is not authenticated to Allow Request (no action) and do not configure any of the supported authentication providers.

对于自定义身份验证,您需要在您的应用服务中打开身份验证/授权以验证您的令牌。此外,我建议您利用 fiddler to capture the network traces to narrow this issue. Additionally, you need to make sure that you send the custom login request with HTTPS. Details, you could follow this similar .