简短场景:多租户前端 javascript (React.JS) Web 应用程序从浏览器调用多租户 ASP.NET Core 2.2 WebAPI。
验证:
当用户登录时(基于用户的原始 Azure Active Directory),前端应用程序中的 ADAL.js 负责从 AzureAD1 或 AzureAD2 或 AzureAD3...获取令牌。
用户同意前端 Web 应用程序(范围:登录并读取用户配置文件),该应用程序也委托给 WebAPI。(这意味着用户也不需要同意 WebAPI)
前端Web App使用不记名令牌调用WebAPI来获取资源。
问题:我必须自动部署新环境。并相应地设置清单文件(这是一个SaaS解决方案)

此步骤将在清单文件中添加一个新对象:
"preAuthorizedApplications": [
{
"appId": "guid",
"permissionIds": [
"guid"
]
}
],
Run Code Online (Sandbox Code Playgroud)
如何使用 Azure PowerShell 将此“preAuthorizedApplications”部分添加到清单文件中?为什么门户网站上有,但PS上却没有?通常情况是相反的...
2019-08-05 根据答案更新:
我通过服务主体获取访问令牌:
$adTokenUrl = …Run Code Online (Sandbox Code Playgroud) StackOverflow社区!
我有一个聊天机器人,并集成了LUIS.ai,使其更加智能.其中一个对话即将预约与主管(教师)一切都工作正常,字面上相同的代码.几个小时前,我遇到了一些奇怪的错误.
Exception: Type 'Newtonsoft.Json.Linq.JArray' in Assembly 'Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' is not marked as serializable.
Run Code Online (Sandbox Code Playgroud)
如何重现错误?
如果用户的输入中缺少实体(教师和日期),则它工作正常,机器人构建表单,询问缺少的输入并显示建议的会议时间.
如果其中一个实体从输入中遗漏了它,它将构建一个表格并询问缺少的日期或教师实体,并显示建议的会议时间.
但
如果用户的输入同时包含实体:教师和日期,那么我收到错误.
这是我的WebApiConfig类:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Json settings
config.Formatters.JsonFormatter.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
config.Formatters.JsonFormatter.SerializerSettings.Formatting = Formatting.Indented;
JsonConvert.DefaultSettings = () => new JsonSerializerSettings()
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
Formatting = Newtonsoft.Json.Formatting.Indented,
NullValueHandling = NullValueHandling.Ignore,
};
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}", …Run Code Online (Sandbox Code Playgroud)