从来没有想过我会遇到过多文档的问题!我需要帮助来选择正确的信息,以便我可以阅读,理解并遵循它。
我的情景:
我有一个托管在mywebapp.azurewebsites.net上的ASP .NET Web应用程序Web应用程序在mywebapp.azurewebsites.net/api/v1/dostuff/1上有一个完整的REST API
您可以访问该站点并执行所有CRUD内容。您也可以使用桌面应用程序执行相同操作。
我继续在Azure门户中启用Azure AD身份验证。现在,为了在网站上执行任何操作,用户需要登录。它会显示常用的Microsoft登录弹出窗口,然后成功进行身份验证后重定向回网站。
但是当谈到桌面应用程序时,我希望用户能够在不登录的情况下使用它。不知怎的,我的桌面应用程序需要能够调用API /网站并进行身份验证!
在这一点上,如果我需要在清单文件,Web应用程序或其他地方做某些事情,我会迷失方向吗?
我能做的最多就是使用客户端凭据/客户端密钥获取访问令牌。
我只需要知道我想要实现的目标是什么,以及哪个文档解释了这样做的方法。
那么你的根本问题是桌面应用程序(如任何公共客户端)无法以安全的方式向AAD进行身份验证。
您不能使用客户端密钥。从可执行文件中获取秘密非常容易,这基本上就是应用程序的密码。
您必须在没有身份验证的情况下使API接受调用。
如果访问API需要身份验证,则用户必须在应用程序中进行身份验证。