如何在Rails应用程序中使用OAuth流到Microsoft Graph API的管理员身份验证



我正在深入寻找正确的流程。我有一个在Microsft App Portal上注册的Rails应用程序(带ID,PWD和SCOPES)。要尽可能简单:我需要通过我的应用程序访问公司的所有电子邮件(仅阅读)。这是一个服务器应用程序,该应用程序在夜间处理信息。

我理解并尝试的内容:

获得公司管理员的登录链接:

https://login.microsoftonline.com/{TENANT_ID}/oauth2/authorize?client_id={MY_APP_ID}&response_type=code&redirect_uri=MY_APP_ADDRESS&response_mode=query&prompt=admin_consent

在回调中,我确实在参数中获得了代码。从该代码中,我获得了一个带有邮政请求的令牌,指定:

client_id: MY_APP_ID,
grant_type: "authorization_code",
code: MY_RECEIVED_CODE,
redirect_uri: MY_APP_ADDRESS,
client_secret: MY_CLIENT_SECRET,
resource: "https://graph.microsoft.com/"

我得到一个令牌。获得消息的简单请求可用于管理员邮箱(验证访问权限的邮箱);当我尝试为组织中的任何其他人时,"访问被拒绝"。

最后一点。Microsoft App Portal中定义的范围:group.Read.All and Mail.Read(用于应用程序或委派服务)

做到这一点的正确方法是什么?谢谢!

在授权请求中添加查询参数提示= admin_cons_cons_con_contem_cons_con_cons_cons_cons_cons_cons_cons_cons_cons_cons_cons_cons_cons_cons_cont

相关内容

最新更新