0

我正在使用 o365 api 客户端库将 asp.net Web 应用程序与 Office 365 电子邮件集成。

我想使用 C# 代码登录,而不是通过显示 Microsoft UI 登录页面 ( https://login.microsoftonline.com/login.srf )。

如果我为用户提供用户名/密码并且用户名/密码正确,那么它应该对用户进行身份验证以查看 asp.net Web 应用程序的 office 365 邮件。

提前致谢。

4

1 回答 1

0

OAUTH 的目的是保护您和您的用户。一旦您进入存储凭证的业务,您就有责任保护这些凭证。

我假设您希望通过后端进程访问用户的数据。此工作流需要“offline_access”范围。离线并不意味着“与互联网断开连接”,而是最终用户与您的应用程序“离线”(无法与 UX 交互)。

您应该执行 OAUTH 代码授予工作流程并将“openid”和“offline_access”添加到您的范围。这将为您提供可用于访问 Office API 的 id_token 以及可用于在现有令牌过期时获取新 id_token 的 refresh_token。即使最终用户离线(不涉及 UX),也可以使用刷新令牌。

拥有 id_token 和 refresh_token 后,您可以使用这些值代表最终用户与 O365 进行交互。一个常见的例子是同步日历。用户第一次需要进行身份验证和配置(即他们想要同步哪些日历)。从那时起,您的服务器使用 id_token 和 refresh_token 在用户不在线的情况下进行操作(这称为“offline_access”)。

于 2016-03-18T14:19:17.230 回答