代码之家  ›  专栏  ›  技术社区  ›  MikeBaz - MSFT

如果清除了本地状态,什么可以允许Azure AD应用程序访问而不注销?

  •  0
  • MikeBaz - MSFT  · 技术社区  · 6 年前

    根据 https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-protocols-openid-connect-code#send-a-sign-out-request

    当您希望将用户注销应用程序时,仅执行以下操作是不够的: 您还必须将用户重定向到的结束\u会话\u终结点 注销。如果您没有这样做,用户将能够 在不再次输入其凭据的情况下重新验证应用程序, AD终结点。

    所以,我的问题很简单:如果应用程序清除了所有的本地状态,那么当应用程序重新登录时,什么会告诉Azure AD有一个有效的单点登录会话?那里没有cookie,并且您在URL中没有发送任何指示登录会话的内容,那么在引用的场景中,Azure广告使用什么来确定这一点?

    0 回复  |  直到 6 年前
        1
  •  0
  •   astaykov    6 年前

    这就是Azure广告本身的SSO cookie。

    如果你仔细看看 the application models for Azure AD integration https://login.microsoftonline/[tenant_id|common]/ .. 终结点。此端点维护与用户代理的SSO会话。即使你注销了一个应用程序,azuread上的SSO仍然保留着。这就是为什么当你的应用程序稍后重定向用户登录时,他/她已经登录并且没有得到提示。

    这一点在文档的“隐藏”部分中有很好的描述- Configurable Token lifetimes Single sign-on session tokens 部分。不过,特性(可配置令牌生存期)本身是 去润滑的 而且将会是 退休 了