浏览器扩展中的用户身份验证(通过Shibboleth)

时间:2013-09-19 17:36:25

标签: django google-chrome-extension browser-extension shibboleth

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

这些two SO questions指出了一般有关扩展的一些有用指导,以及处理安全/登录的一些提示(适用于FirefoxChrome )。但是,它们都使用内置库(如OAuth或Firefox登录管理器)进行引用,其中用户直接向扩展名提供用户名/密码。由于我使用的是Shibboleth,我的用例似乎有所不同,我不知道如何处理这个过程。我最初的想法是:

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

提出问题的更广泛方式是:eBay或Diigo等扩展程序如何处理用户会话?两者都指向一个“完整窗口”登录页面,以便登录而不是使用特定于浏览器的扩展库,但扩展适用于所有选项卡...

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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