首页 文章

通过Exchange ActiveSync(EAS)将OAuth2用于Office365

提问于
浏览
3

博文:Announcing Exchange ActiveSync v16.1表示:

虽然不是EAS 16.1的一部分,但我们还要注意,Office 365和Outlook.com客户现在都可以通过EAS使用OAuth 2.0协议进行授权 .

我的问题是:我应该在oauth请求中使用哪个 scope

有一个例子,也许是完整的请求?

注意:有关于using OAuth for Office365 with IMAP的类似问题,但在这里我特别询问 ActiveSync . 我在comment to one of the answers on that thread中引用了这个问题 .

Secondary problem

感谢Jason的回答和一些额外的调整,我们设法使用https://login.windows.net/common/oauth2生成oauth令牌,但仅限于office365用户(组织帐户)而不是Microsoft用户帐户(live,hotmail,outlook.com ...)

令牌允许访问ActiveSync协议(通过https://eas.outlook.com/Microsoft-Server-ActiveSync)和EWS API(通过https://outlook.office365.com/EWS/Exchange.asmx) .

遗憾的是,我们找不到为Microsoft在线帐户生成相同令牌的方法(hotmail,live,outlook.com) . 我们尝试使用此 endpoints :https://login.live.com/oauth20_authorize.srf,它只允许activesync而不允许EWS .

有没有办法在两个协议(ActiveSync和EWS)上为组织和在线帐户使用相同的令牌?

1 回答

  • 2

    对不起,这花了这么长时间,但直到今天我才意识到这个问题:) . 您需要在Azure Active Directory中将应用程序注册为本机应用程序:

    enter image description here

    然后添加 Access mailboxes as the signed-in user via Exchange Web Services (在 Office 365 Exchange Online 下)委派权限 .

    NOTE: 您无法在应用程序注册门户(https://apps.dev.microsoft.com)中注册它,它需要在Azure门户(https://portal.azure.com/)中注册,您需要使用v1 Azure auth endpoints进行授权和令牌请求 .

    enter image description here

相关问题