繁体   English   中英

自动授予对Azure Active Directory Web应用程序的权限

[英]Granting permissions to Azure Active Directory Web Application automatically

我们公司正在开发基于Azure组件和连接到Azure的客户端桌面应用程序的系统。 我们的安装代码通过Azure API和Azure部署自动化功能自动部署Azure组件。 正在部署的这些组件之一是我们在Azure Active Directory中注册的Web App / API。 我们的部署代码通过Azure API在Azure中创建此应用,并在Azure中为此应用设置“所需权限”。 所需的权限是:

在此处输入图片说明

使用Azure设置应用程序后,便有了客户端桌面应用程序。 在我们的客户端桌面应用程序中,用户可以登录到Azure,然后我们要访问创建的应用程序。 因此,我们的客户端桌面应用程序基本上会显示Azure登录框以登录到Azure,然后尝试访问Azure中的Web应用程序,我们得到了以下信息:

在此处输入图片说明

是的,所以我可以手动解决它:如果我以管理员身份登录Azure并通过单击“授予权限”按钮手动授予权限,则上面显示的消息将不再显示,并且一切都会顺利进行。 我单击的“授予权限”按钮是这样的:

在此处输入图片说明

但是不幸的是,我们不能采用这种手动授予权限的方式,我们需要找到一种通过C#代码以编程方式实现权限的方式。 这是我们的业务要求。 因此,现有的C#代码在Azure AD中创建应用程序,为其设置所需的权限,而缺少的部分是一个C#代码段,该代码段将自动授予权限-这样用户就不会看到上面的警告消息。 我一直在研究各种在线资源,但还没有找到一种通过C#代码来实现的方法-不幸的是。 有没有一种方法可以自动授予权限? 任何C#代码段? Azure API调用? 电源外壳? 什么?

关于我们的应用程序请求的权限的详细信息:对于Microsoft Graph,我们需要这些权限作为“应用程序权限”:

在此处输入图片说明

以及那些被委派的权限:

在此处输入图片说明

对于Windows Azure Active Directory,所需的权限是:

在此处输入图片说明

上面@Saca和@Nan Yu回答了这个问题。 现在可以关闭了。 基于为正在创建的应用程序的ServicePrincipal创建OAuth2PermissionGrant和AppRoleAssignment对象的解决方案是解决此问题的正确方法,我已经设法解决了这一问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM