我正在开发一个后台应用程序(没有用户交互是可能的),我想使用 Graph API 自动从某些邮箱获取所有电子邮件。但我面临一些问题:
如果我使用应用程序权限,我可以访问组织中的每个邮箱,这不是一个好的解决方案。是否可以限制对某些邮箱的访问?我们使用的是本地 Exchange 而不是 Exchange Online,因此此链接不相关(https://docs.microsoft.com/en-us/graph/auth-limit-mailbox-access)。
如果我使用委托权限,该应用程序将需要用户交互(据我所知),但这将是不可能的,因为它应该在后台运行。我正在研究不同的身份验证流程,但没有一个真正适合我的需要。也许它可以通过刷新令牌流来完成,但它似乎很容易受到攻击。是否可以在没有用户交互的情况下使用委派权限?如果是,最好的方法是什么?
最好的问候
首先,您不能在没有用户的情况下使用委派权限。委托权限由存在登录用户的应用程序使用。
似乎资源所有者密码凭据(ropc)流程允许应用程序通过直接处理用户的密码来登录用户,这是您的最佳选择。但它有风险,请参阅文章中的重要信息以确保您可以使用它。仅当无法使用其他更安全的流程时,才应使用此流程。
POST https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
Content-Type: application/x-www-form-urlencoded
client_id=<client_id>
&scope=user.read%20openid%20profile%20offline_access
&[email protected]
&password=<password>
&grant_type=password
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句