将Azure AD集成到Java Web应用程序中。如何破解Azure AD

时间:2019-02-27 19:03:34

标签: java azure azure-active-directory

我们将Java应用程序与Azure Active Directory集成在一起。因此,我们目前遇到的问题是,在销毁Spring Security会话时,Azure Active Directory会话并未销毁 (例如,如果在Web服务器上重新启动了Tomcat)

是否可以分辨哪个参数标识Azure Active Directory会话?或总的来说,您对如何以最佳方式处理此问题有任何建议吗?

我们使用此示例将Java应用程序与Active Directory集成。

https://azure.microsoft.com/en-us/resources/samples/active-directory-java-webapp-openidconnect/

谢谢

Andy G。

1 个答案:

答案 0 :(得分:0)

官方文档Authorize access to web applications using OpenID Connect and Azure Active Directory的{​​{3}}部分介绍了如何使用户退出您的应用程序,如下所示。

  

发送退出请求

     

如果您希望用户退出应用程序,则仅清除应用程序的cookie或终止与用户的会话是不够的。您还必须将用户重定向到end_session_endpoint以便注销。如果您这样做失败,则用户将能够重新验证您的应用程序而无需再次输入其凭据,因为他们将与Azure AD终结点进行有效的单点登录会话。

     

您只需将用户重定向到OpenID Connect元数据文档中列出的end_session_endpoint

GET https://login.microsoftonline.com/common/oauth2/logout?post_logout_redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
     

参数:建议使用post_logout_redirect_uri

     

说明:成功注销后用户应重定向到的URL。如果不包括在内,则会向用户显示一条通用消息。

此外,您可以参考C#Send a sign-out request中的一个官方示例。