【发布时间】:2020-10-06 23:35:48
【问题描述】:
我正在尝试创建一个允许阅读 Office 365 用户电子邮件的 iOS 应用程序。因此,我创建了一个多租户 Azure Active Directory 应用程序,并在 OAuth 身份验证期间请求以下范围:offline_access User.Read Mail.Read EWS.AccessAsUser.All。
不幸的是,当我尝试以非管理员 Office 365 用户身份登录时,我没有显示权限审核对话框,而是收到“%AppName% 需要管理员批准”。 您能帮我弄清楚如何避免“需要管理员批准”对话框吗?
通过具有相同范围和相同帐户的其他电子邮件客户端(我已经测试过 Edison Mail)登录会显示一个授权对话框(组织中没有人以前登录过该应用程序,也没有管理员以前批准过它)。如果需要更多详细信息,我很乐意提供!
提前谢谢你!
附:在范围内只留下offline_access User.Read 实际上会显示授权对话框,但流行的应用程序可以通过某种方式一次获得所有必需的权限......
【问题讨论】:
-
是否为您尝试访问的租户启用了 Exchange Web 服务?您可以仅使用图形 api 访问吗?似乎 ews 范围可能是您的问题,因为 mail.read 不需要管理员批准。
-
@Paulw11 感谢您的评论!我相信交换网络服务已启用.. 似乎 EWS 范围不是唯一的问题 - 如果我只留下 Mail.Read 管理员批准也需要:( 实际上,我使用与 Edison Mail 相同的范围..我猜这是 Azure 应用程序设置中的内容?
-
奇怪。 Mail.Read 的文档说不需要管理员批准。
-
是的,我也很惊讶...但实际上我的应用程序需要它:/
标签: ios oauth outlook azure-active-directory office365