检查 Office365 会话

Check Office365 session

是否有任何解决方案可以从我的 MVC 应用程序了解用户已经登录到 Office365?

目前我正在使用下面的代码对我的 MVC 应用程序进行身份验证:

var authContext = new AuthenticationContext("<a href="https://login.windows.net/MyTenantId" rel="nofollow">https://login.windows.net/MyTenantId</a>");<br> var authResult = authContext.AcquireToken("<a href="https://MyTenantId/AppWebApi" rel="nofollow">https://MyTenantId/AppWebApi</a>", "ClientId", new Uri("redirect uri"));

通过此代码,建议用户输入他的凭据以登录到 Azure Active Directory。它工作正常,但它没有看到该用户已经登录到 Office365 并使用 Word,例如。

您在此处编写的代码在 Web 应用程序中不起作用。当您访问本地主机时它可能会工作,但是一旦您将 Web 应用程序部署到实际服务器,它将无法弹出对话框。你从一些样本中得到了代码吗?你能指出我吗?在图书馆可用 2 或 3 年后,这已经是 2 天内包含相同错误的第 2 个问题。

回到你的问题。

用户是如何登录您的应用程序的?如果您使用 AAD 来处理 Web 登录,就像在 this sample 中一样,您会预先知道(答案总是 'yes',只是因为 he/she 需要以便访问您的应用程序)。 如果您使用不同的登录系统,有一些技术可以在不显示任何 UX 的情况下确定用户是否已登录,但它们非常先进(需要使用隐藏框架和特殊请求参数)并且在深入挖掘之前我认为了解您的场景需要什么会很有用。您需要令牌,还是只需要知道用户是否已在 O365 中登录?