我正在使用o365 api客户端库将asp.net Web应用程序与Office 365电子邮件集成。
我想使用c#代码登录,而不是通过显示Microsoft UI登录页面(https://login.microsoftonline.com/login.srf)。
如果我为用户提供用户名/密码,并且用户名/密码正确,那么它应该对用户进行身份验证,以查看asp.net Web应用程序的office 365邮件。
提前致谢。
答案 0 :(得分: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")。