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

2023-12-31

博客文章:发布 Exchange ActiveSync v16.1 https://blogs.msdn.microsoft.com/exchangedev/2016/06/13/announcing-exchange-activesync-version-16-1/指出:

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

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

有没有完整请求的示例?

Note: 有一个类似的问题将 Office365 的 OAuth 与 IMAP 结合使用 https://stackoverflow.com/questions/29747477/,但在这里我特别想问的是动态同步。我在一个问题中引用了这个问题对该线程的答案之一发表评论 https://stackoverflow.com/questions/29747477/imap-auth-in-office-365-using-oauth2#comment69917914_29747829.

次要问题:

感谢 Jason 的回答和一些额外的调整,我们成功地使用生成 oauth 令牌https://login.windows.net/common/oauth2 https://login.windows.net/common/oauth2但仅适用于office365用户(组织账户)而不是微软用户帐户(实时、hotmail、outlook.com...)

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

不幸的是,我们找不到为 Microsoft 生成相同令牌的方法online帐户(hotmail、live、outlook.com)。我们尝试使用这个端点:https://login.live.com/oauth20_authorize.srf https://login.live.com/oauth20_authorize.srf仅允许 activesync 而不允许 EWS。

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


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

然后添加通过 Exchange Web 服务以登录用户身份访问邮箱 (under Office 365 在线交换) 授予许可。

NOTE:您无法在应用程序注册门户(https://apps.dev.microsoft.com https://apps.dev.microsoft.com),需要在Azure Portal中注册(https://portal.azure.com/ https://portal.azure.com/),并且您需要使用v1 Azure 身份验证端点 https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-code用于授权和令牌请求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 Exchange ActiveSync (EAS) 将 OAuth2 用于 Office365 的相关文章

随机推荐