我开发了一个使用Azure AD进行身份验证的Native Client应用程序。我需要使用需要客户端ID和客户端密钥的AD Graph访问一些信息。我已将应用程序添加到我的Azure活动目录中。我添加了对Active Directory身份验证库(ADAL)的引用并安装了GraphAPI。身份验证上下文的AquireToken需要客户端ID(我有)和客户端密钥(密钥),我没有。我在Azure门户中查看了应用程序配置的所有位置,看起来本机应用程序没有设置密钥的选项。网络应用程序。有谁知道如何设置和获取本机应用程序的密钥?
答案 0 :(得分:7)
您应该为您的目的创建一个Web应用程序。这就是你如何创建一个既有ID也有秘密的机密客户端。 Azure门户网站将为您生成秘密。
答案 1 :(得分:4)
原生客户无法选择设置密钥,只能设置Web应用程序。 我对此只是新手并且偶然发现了这个问题,因为我自己正在努力解决这个问题。 仅供参考,我已成功通过以下方式使用获取令牌:
result = authContext.AcquireToken(ResourceId, clientId, redirectUri, PromptBehavior.Auto);
其中:
ResourceId例如https://examplename.onmicrosoft.com/ServiceName
clientId = e.g. 82692da5-a86f-44c9-9d53-2f88d52b478b
redirectUri =仍然没有想出如何使用它,但我使用了..
https://examplename.onmicrosoft.com/ServiceName
PromptBehavior.Always我将其设置为Always,所以我总是会让浏览器窗口登录。
我希望这会有所帮助。