从多个拥有的网站注销用户的最佳方法?

时间:2018-11-08 16:27:02

标签: python django web-applications oauth oauth-2.0

我有几个连接到中央OAuth2服务器的应用程序(这是唯一的登录方法)。当用户点击退出时,我希望他从所有所有应用 OAuth服务器中退出。

目前所有应用程序都是Django,但可能会发生变化,因此我正在寻找最跨框架的方法。我还必须记住,所有应用程序可能对会话的处理方式不同(某些服务器端,某些客户端)。

按照良好实践的建议,所有登出必须由POST请求处理。

我想到的策略:

  • 在应用程序上,用户单击注销
  • 注销链接指向OAuth服务器上的注销页面,在该页面上立即(或在倒计时之后)发出对/logout的POST请求。
  • 该会话在OAuth服务器上被杀死,用户被注销。
  • 一个?next=...参数将用户重定向回应用程序A。
  • 该应用从OAuth服务器(服务器端或客户端)提取用户状态:如果从OAuth服务器注销,则也从应用中注销

新应用程序仅需实现这种引人注目的机制以及指向OAuth服务器注销页面的注销链接,因此在OAuth服务器中无需为新应用程序进行配置。

我想念什么吗?

1 个答案:

答案 0 :(得分:1)