我正在使用VS1017将Web应用程序从VS2015中的aspnetcore1.0迁移到aspnetcore2.0。aspnetcore2.0 azure web应用部署启用组织身份验证
我使用的是湛蓝的Active Directory和智威汤逊承载认证,以保护通过angularjs客户消耗我的休息端点在同一个项目中
一切工作正常,而在我的机器上调试,但是当我将其部署到Azure我在提出请求时发生此错误
值不能为空。参数名:clientSecret
在蔚蓝的门户网站使用捻有用于azuread没有设置环境变量,也不是一个与生态环境变量客户端秘密,因为他们曾经是在netcore1.0情况下,以一看。在VS2015中,我在发布应用程序时获得了“启用组织身份验证”复选框,但在VS2017中不是这种情况,我猜测它与在部署过程中为azure创建的env变量有关。
我的问题是,如何从VS2017部署Azure的aspnetcoreapp2.0进行此类型认证,以及如何在生产环境中管理aad auth的应用设置和客户机密?
利布斯在aspnetcore2.0 VS1017项目中使用:
"Microsoft.AspNetCore.Authentication.JwtBearer" Version="2.1.0-preview1-26771"
"Microsoft.Azure.ActiveDirectory.GraphClient" Version="2.1.1"
"Microsoft.IdentityModel.Clients.ActiveDirectory" Version="3.16.0"
aspnetcore1.0 VS105环境变量:
这些都是从VS2017
部署
按照您的建议覆盖Azure应用服务中的嵌套关键字,并且工作得很好,谢谢。无论如何,它感觉像是退后一步,它不会像以前的aspnetcore版本那样在自Visual Studio部署期间自动完成,可能会在更新版本中进行更新。 –
事实上,他们将配置代码从startup.cs中移出来,让我有点困惑,因为我认为这个问题的原因是我在这件事上缺少了一些东西。对于任何感兴趣的人来说,这里有一篇关于aspnetcore2.0的结构性变化的好文章https://www.stevejgordon.co.uk/getting-started-with-asp-net-core-2-0-preview-1 –