1

我正在尝试创建一个通过 Shibboleth 对用户进行身份验证的浏览器扩展程序——我想知道如何将 Shibboleth 会话放入我的扩展程序中,以便它适用于所有选项卡/窗口。我没有在网上看到太多关于 Shib 的信息,所以感谢任何指导。我的问题与类似,但身份验证可能发生在单独的选项卡中(或者应该发生在扩展窗口中??)。

两个SO问题通常指向一些有用的扩展指南,以及一些处理安全/登录的技巧(对于Firefox和对于Chrome)。但是,它们都使用内置库(如 OAuth 或 Firefox 登录管理器)进行引用,用户在其中直接向扩展提供用户名/密码。由于我使用的是 Shibboleth,所以我的用例似乎有所不同,我不确定如何处理该过程。我最初的想法是:

  • 用户单击扩展程序中的“登录”按钮。
  • 用户被重定向到一个完整窗口中的登录页面,而不是在扩展程序中(如eBayDiigo浏览器扩展程序)
  • 用户使用 Shibboleth 凭据登录。
  • 服务器端 Django 应用程序做一些事情......设置一个会话 cookie——但是扩展可以访问它吗?在我的测试中,这似乎不起作用(即我的应用程序仍未针对服务器进行身份验证,即使我在同一个选项卡中进行了身份验证)
  • 扩展程序查找会话 cookie,如果找到,则将用户视为已通过身份验证。??
  • 该扩展应该像一个书签工具(如 Diigo)——“安全会话”可以扩展到用户打开的任何选项卡/窗口吗?我的理解是否定的(因为它是特定领域的),但是扩展(如 eBay 或 Diigo)如何跨站点工作呢?

问我问题的更广泛的方法是:像 eBay 或 Diigo 这样的扩展如何处理用户会话?两者都将您定向到“全窗口”登录页面,以便登录而不是使用特定于浏览器的扩展库,但扩展适用于所有选项卡......

此外,此过程是否可以轻松跨 Safari/Firefox/Chrome 移植?

谢谢!

4

1 回答 1

0

一旦用户在主网站上通过身份验证,您就可以开始从后台页面对网站进行 XHR 调用,从而形成我对 joomla 的体验。浏览器包含所有这些请求的身份验证 cookie。这种方法适用于 IE、Chrome、Firefox 和 Safari。

于 2013-09-20T06:15:26.960 回答