C# Azure广告和保护API

C# Azure广告和保护API,c#,wpf,api,azure,azure-active-directory,C#,Wpf,Api,Azure,Azure Active Directory,我已经被困了好几天了。 我已经编写了一个托管在Azure上的API。这将处理所有数据库调用等(SQLAzure)。 最终用户将使用WPF桌面系统。 所以我希望他们被提示在Azure上使用自己的广告登录。 WPF系统中的RESTAPI正在使用自动测试。 因此,通过调用下面的代码,理想情况下会显示Microsoft登录、身份验证,然后我可以传递令牌 var activeDirectoryClientSettings = ActiveDirectoryClientSettings.UsePromptO

我已经被困了好几天了。 我已经编写了一个托管在Azure上的API。这将处理所有数据库调用等(SQLAzure)。 最终用户将使用WPF桌面系统。 所以我希望他们被提示在Azure上使用自己的广告登录。 WPF系统中的RESTAPI正在使用自动测试。 因此,通过调用下面的代码,理想情况下会显示Microsoft登录、身份验证,然后我可以传递令牌

var activeDirectoryClientSettings = ActiveDirectoryClientSettings.UsePromptOnly(nativeClientAppCLIENTID, new Uri("https://xxx.azurewebsites.net")); 
return UserTokenProvider.LoginWithPromptAsync(domainName, activeDirectoryClientSettings).Result;
这段代码给了我一个错误:请求主体必须包含以下参数:“client\u secret或client\u断言” 我理解这是本机api调用和web api调用之间的区别

自动测试还需要一种类型的ServiceClientCredentials

     public ServiceClientCredentials Credentials
    {
        get { return this._credentials; }
        set { this._credentials = value; }
    }
如果有人有过这种情况的经验,这将是有益的

WPF调用Web APi-Web APi使用Azure Ad锁定。 应易于通过ServiceClientCredentials传递凭据/令牌,并允许查看web API和进行调用。
谢谢斯科特,我可能找错人了。目前,我正在考虑首先保护本机应用程序,并允许它调用api。现在弄明白了。我不能让它工作。使用AutoRest,只要我引入Nuget软件包安装软件包Microsoft.Rest.ClientRuntime.Azure.Authentication-Version 2.0.0-preview-preview,它就会因错误而中断。无法从Assembly加载类型“Microsoft.Rest.HttpOperationException”。我必须想出一个替代方法。经过一周的思考,我发现它与ClientRuntime版本0.9.6一起工作,但不能使用更高版本-直到最近我才决定使用Power BI Embedded-它依赖于
Microsoft.Rest.ClientRuntime.Azure.Authentication-Version 2.0.0
,现在我又遇到了一个问题->无法从程序集问题加载类型“Microsoft.Rest.HttpOperationException”。。。你找到这个问题的解决方案了吗?嗨,Prokuros。对不起,我没有进一步的进展。不过,我很快就会回顾这一点。如果我有进展,我一定会让你知道的。谢谢,祝你好运。斯科特