允许应用程序访问没有用户名/密码的受Azure AD保护的URL

时间:2019-03-28 12:03:25

标签: asp.net azure adal

从不认为我会遇到太多文档的问题!我在选择正确的信息方面需要帮助,以便我可以阅读,理解和遵循它。

我的情况:

我有一个ASP.NET Web应用程序,该应用程序托管在mywebapp.azurewebsites.net上 该Web应用程序位于mywebapp.azurewebsites.net/api/v1/dostuff/1

上具有完整的REST API。

您可以转到站点并执行所有CRUD内容。您还可以使用桌面应用程序执行相同的操作。

我继续并在Azure Portal中启用了Azure AD身份验证。现在,要在网站上执行任何操作,用户需要登录。它会弹出通常的Microsoft Login弹出窗口,然后在成功进行身份验证后重定向回该网站。

但是,当涉及到桌面应用程序时,我希望用户无需登录即可使用它。以某种方式,我的桌面应用程序需要能够调用API /网站并进行身份验证!

在这一点上,我是否需要在清单文件,Web应用程序或其他地方做些什么?

我最能做的就是使用客户端凭据/客户端密码获取访问令牌。

我只需要知道我是否想实现什么目标,以及哪个文档解释了这样做的方法。

1 个答案:

答案 0 :(得分:1)

您遇到的基本问题是,桌面应用程序(如任何公共客户端)无法以安全的方式向AAD进行身份验证。

您不能使用客户密码。 从可执行文件中窃取密码很容易,这基本上就是您应用程序的密码。

您将不得不使API几乎接受未经身份验证的调用。

如果访问API需要身份验证, 那么用户必须在应用中进行身份验证。