我有一些关于手动向应用注册添加权限的问题
我通过UX为应用添加权限,然后点击“保存”。 之后,这些权限被添加到requiredressourceaccess属性吗?
之后我点击“授予权限” - >权限被添加到服务主体,对吗?
之后检查服务主体时,我看到权限是通过管理员同意添加的。这是否也可以征得用户同意?也许这里错了,这不是必需的,但是我想知道为什么这样做的唯一选择是使用全局管理员,然后导致管理员同意。
还有一些权限声明不需要管理员。
如果我只是执行步骤a并添加权限,请单击“安全”,将权限添加到requiredressourceacces
最诚挚的问候 托马斯
答案 0 :(得分:1)
按顺序回答:
答案 1 :(得分:0)
Elisol已经明确了Grant权限,这个答案只是对elisol的一个补充并回复你的第5个问题:
如果我只是执行步骤并添加权限,请单击“安全”,权限为 添加到requiredressourceacces。用户现在必须同意吗? 通过访问应用程序时的权限。我的应用门户网站?一世 试图重复,但它没有用。
对于Azure AD v1端点,权限是静态的。一旦用户同意,它将不会改变。因此,我们有提供管理员同意的授予权限。对于你的第5个问题,elisol已经解释得非常好,但我想明确表示旧用户(已经同意过一次)将不会被提升为同意。他/她应该只拥有之前同意的权限。如果您希望用户拥有新权限,应用会通过将prompt=consent
或prompt=admin_consent
添加到授权网址来强制用户重新同意。
如果要动态指定应用所需的权限,可以考虑使用AAD v2端点。有关AAD v1和v2 enpoint之间的区别,请参阅here。
我不确定你得到了什么错误消息(这就是我要求你发布有关你的场景的更多细节的原因)。所以,我列出了你可能遇到的两种情况。
1. 如果您发现用户在从Azure门户授予权限后仍需要获得同意:
正如@junnas所述,一个原因可能是您的应用请求包含prompt=consent
或prompt=admin_consent
以强制重新同意。您可以参考his blog尝试修复它。
2. 如果没有足够的许可,您将无法访问您的应用程序(如果没有访问此应用程序可能会出现错误按摩)。
首先,确保您在Azure门户中添加了足够的权限并授予了权限。其次,检查您的请求中的resource
是否是正确的WebAPP / API权限。第三,检查是否已定义应用角色并为用户分配不同的角色(它调用基于组的访问控制)。
希望这有帮助。