Office365 如何使用o365 api客户端库c代码以编程方式登录office 365电子邮件

Office365 如何使用o365 api客户端库c代码以编程方式登录office 365电子邮件,office365,office365api,office365-apps,office365connectors,o365rwsclient,Office365,Office365api,Office365 Apps,Office365connectors,O365rwsclient,我正在使用o365 api客户端库将asp.net web应用程序与office 365电子邮件集成 我想使用c代码登录,而不是显示Microsoft UI登录页() 如果我为用户提供用户名/密码,并且用户名/密码正确,那么它应该验证用户以查看asp.net web应用程序的office 365邮件 提前感谢。OAUTH的目的是保护您和您的用户。一旦您开始存储凭据,您就有责任保护这些凭据 我假设您希望通过后端进程访问用户的数据。此工作流需要“脱机访问”范围。离线并不意味着“与互联网断开连接”,而

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

我想使用c代码登录,而不是显示Microsoft UI登录页()

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


提前感谢。

OAUTH的目的是保护您和您的用户。一旦您开始存储凭据,您就有责任保护这些凭据

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

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


拥有id_令牌和refresh_令牌后,您可以使用这些值代表最终用户与O365交互。一个常见的例子是同步日历。用户第一次需要进行身份验证和配置时(即,他们希望同步哪些日历)。从那时起,您的服务器使用id_令牌和refresh_令牌在用户不在线的情况下运行(这是术语“脱机访问”)

您想不使用登录页登录到O365,还是只从web服务器发送一些通知电子邮件?我想不使用登录页登录到O365,并访问我已使用O365 API客户端库在ASP.Net web应用程序中开发的office 365邮箱。目前我正在使用下面的代码检查用户是否登录。如果(!Request.IsAuthenticated){HttpContext.Current.GetOwinContext().Authentication.Challenge(新的AuthenticationProperties{RedirectUri=“/”},OpenIdConnectAuthenticationDefaults.AuthenticationType);}感谢分享您的宝贵意见。假设我在数据库中存储了某个用户的office 365邮件ID。我还在数据库中存储了该邮件用户的office 365用户ID/密码。是否可以使用“offline_access”从我的Asp.Net应用程序中查看存储的邮件ID的邮件详细信息?如果您有符合我的要求的代码示例,请共享。您应该存储的唯一数据是令牌。使用OAUTH意味着您永远不会看到、收集或存储某人的凭据。整个过程由提供者处理。提供商返回您与该提供商及其API交互所需的令牌。感谢您的建议。实际上,我需要从我自己的帐户发送/删除/转发office 365邮件,还需要从我的asp.net应用程序查看其他用户的o365邮件详细信息。您有没有更好的建议来满足我的需求,而不是使用我目前使用的OAUTH/ADAL?