oauth-2.0 - 使用 EWS、OAuth2 和用户凭据访问用户邮箱
问题描述
在我们的应用程序中,我们使用 EWS 和基本身份验证。如果用户拥有管理员凭据,则用户只能访问自己的邮箱或组织中的所有邮箱。现在我们正在尝试用 OAuth2 身份验证替换基本身份验证。我们在 Azure 门户上注册了应用程序,添加了权限“EWS.AccessAsUser.All”。
对于管理员帐户,一切正常。我们的应用程序可以访问管理员组织中的任何邮箱。
问题在于我们无法获得标准用户帐户的授权码。显示“TestApp 需要访问组织中只有管理员才能授予的资源的权限”。
所以问题是:有没有办法使用 EWS、OAuth2 和用户凭据访问用户邮箱?
解决方案
使用 oAuth 后,您需要在租户中为您的应用程序授予同意,例如 https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/grant-admin-consent一旦您授予租户广泛同意除非您应用限制,否则任何用户都应该能够使用该应用程序。如果您的应用程序正在被其他公司使用,那么您需要注册多租户应用程序,并且客户需要同意在其租户中使用它才能使用它。
推荐阅读
- python - 熊猫数据框从列的子组中删除异常值
- swift - How to keep an app from quitting after closing its window on Mac Catalyst?
- graph - 一个顶点集是一个顶点覆盖当且仅当它的补集是一个独立集
- asp.net - 基于声明的授权以及在何处添加用户可以执行的操作
- c# - Python for .NET:传递列表
到 C# 函数 - ocaml - 没有使用 opam 为 OCaml 4.05.0 正确安装camlp4
- c# - 第一次成功调用后,LINQ 查询继续返回 null
- sql - 当我尝试导出此格式“2020-04-13 14:13:54”时,数据库导出失败
- c++ - 从 Windows 注册表读取的问题
- angular - 仅在页面加载时调用的反应式表单条件验证谓词