Oauth 2.0 访问用户';使用EWS、OAuth2和用户';国书

Oauth 2.0 访问用户';使用EWS、OAuth2和用户';国书,oauth-2.0,exchangewebservices,Oauth 2.0,Exchangewebservices,在我们的应用程序中,我们使用EWS和基本身份验证。 如果用户具有管理员凭据,则可以仅访问自己的邮箱或访问其组织中的所有邮箱。现在我们尝试用OAuth2身份验证替换基本身份验证。 我们在Azure portal上注册了应用程序,添加了权限“EWS.AccessAsUser.All” 对于管理员帐户,一切都很好。我们的应用程序可以访问管理员组织中的任何邮箱 问题在于我们无法获得标准用户帐户的授权码。 显示“TestApp需要权限才能访问组织中只有管理员才能授予的资源” 所以问题是:有没有一种方法可以

在我们的应用程序中,我们使用EWS和基本身份验证。 如果用户具有管理员凭据,则可以仅访问自己的邮箱或访问其组织中的所有邮箱。现在我们尝试用OAuth2身份验证替换基本身份验证。 我们在Azure portal上注册了应用程序,添加了权限“EWS.AccessAsUser.All”

对于管理员帐户,一切都很好。我们的应用程序可以访问管理员组织中的任何邮箱

问题在于我们无法获得标准用户帐户的授权码。 显示“TestApp需要权限才能访问组织中只有管理员才能授予的资源”


所以问题是:有没有一种方法可以使用EWS、OAuth2和用户凭据访问用户邮箱?

使用oAuth,您需要在租户中为您的应用程序授予许可,例如
一旦您授予租户范围内的许可,任何用户都应该能够使用该应用程序,除非您施加限制。如果您的应用程序正被其他公司使用,则您需要进行多租户应用程序注册,并且客户需要同意在其租户中使用该应用程序,然后才能使用该应用程序

谢谢你,@Glen Scales。正如我所见,在管理员以某种方式同意我们的应用程序之前,标准用户无法连接到自己的邮箱。因此,2020年10月之后,我们的一些用户将无法连接到他们的邮箱。所以我们必须使用另一个API(MS Graph?)来访问非管理员用户的邮箱。我说的对吗?基本身份验证已被延迟。邮件的Graph API权限不允许用户同意(默认情况下在租户中启用,但管理员可以禁用此功能,因此不能保证这一点)。同意,尤其是管理员同意,是您需要从用户首次运行/支持的角度学习处理的事情(例如UI或支持文档)。