Azure App Service自定义身份验证获取System.ArgumentNullException:“值不能为空”“参数名称:provider”

时间:2018-09-23 18:45:49

标签: .net azure azure-mobile-services

我遵循(https://docs.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-dotnet-backend-how-to-use-server-sdk#custom-auth)上的示例,有一个具有自定义身份验证的简单点网移动应用程序

我有一个用于生成JWT令牌的端点 https://test2ixresearcher.azurewebsites.net/.auth/login/custom?username=ade%40ixcompany.com&password=a (用户名和密码未选中,您可以输入任何内容)

这将创建一个令牌,我用它在X-ZUMO-AUTH头中使用提供的令牌来调用安全端点:https://test2ixresearcher.azurewebsites.net/api/SecuredData -如预期的那样,使用错误的令牌或令牌丢失的端点调用将返回401 -使用刚刚创建的令牌调用端点会生成500,其中包含以下消息,没有预期的结果

-启动错误消息- 应用程序:2018-09-22T23:12:20 PID [5520]严重System.ArgumentNullException:值不能为null。 应用程序:参数名称:provider 应用程序:Microsoft.Azure.AppService.Authentication.EasyAuthTokenStore.d__7.MoveNext() 应用程序:---从引发异常的先前位置开始的堆栈结束跟踪---

-结束错误消息- 我也有一个不安全的端点,这可以正常工作。 https://test2ixresearcher.azurewebsites.net/api/UnSecuredData

我已经使用该模型部署了至少4个其他应用程序,这是出现此错误的第一个实例。该错误出现在身份验证中,它似乎已成功验证了令牌发行者并拔出了用户,但在击中我的代码之前失败了。

我的代码可以在https://github.com/antitheos/publictesting/tree/master/TestAzureCustomLogin

上找到

当通过门户或Visual Studio创建的新应用程序服务中发布以天蓝色时,就会发生这种情况。我有旧的应用程序服务正在运行,但我担心尝试发布给他们,以防万一我破坏了正在运行的应用程序。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

好的,Microsoft发现了问题!

产品团队发现了一个回归错误,现已定于大约一个月后在下一个版本中进行修复。同时,您可以按照以下步骤解决它。

  1. 打开Azure门户,导航到您的App Service
  2. 单击Resource Explorer刀片服务器
  3. 在您的站点节点下,展开配置节点,然后单击authSettings。
  4. 在顶部窗格中,确保已选择读/写。
  5. 点击“编辑”按钮
  6. 将runtimeVersion修改为= 0.0.0
  7. 点击放置
  8. 点击发布
  9. 重新启动您的网站。

enter image description here