0

使用 JavaScript 从浏览器扩展检查 ASP.NET 成员身份验证

嗨,我有一个网站 [Visual Studio 2012 网站],它使用 ASP.NET 成员资格和 OAuth/OpenID。现在我需要创建一个浏览器扩展 [Using Crossrider.com APIs for Chrome, IE, Safari etc.] 这将使登录的 [我的网站] 用户能够在单击按钮时从浏览器扩展中为 URL 添加书签并将 URL 保存到我网站中使用 JavaScript 的数据库。然后,该网站可以在某些 DataGrid 中显示登录用户的书签 URL。

现在我的问题是: 1. 最好的方法是什么?2. 你如何使用 JavaScript 从浏览器扩展中检查用户是否通过了身份验证?3. 如何为该登录用户将书签 URL 保存到我网站中的数据库?

4

1 回答 1

1

如果我理解正确,您希望扩展按钮的事件处理程序将活动页面的 URL 发送到您的网站。通常,您可以通过使用 appAPI.tabs.onTabSelectionChanged 捕获活动选项卡的 URL,然后使用appAPI.request.get(或post)将数据发送到您的网站数据库来实现此目的。

关于用户凭据,假设您在扩展中对用户进行身份验证,您可以使用appAPI.db.set将凭据保存到本地数据库(获取以检索数据)并将其作为请求的一部分发送以保存 URL。下面的代码展示了原理思想:

background.js文件中,实现按钮处理程序并将 URL 保存到您的站点:

appAPI.ready(function() {
  var activeUrl = null;

  // Keep track of the active tab's URL
  appAPI.tabs/onTabSelectionChanged(function(tabInfo) {
    activeUrl = tabInfo.tabUrl;
  });

  // Configure the extension's button
  appAPI.browserAction.setResourceIcon('icon.png');
  appAPI.browserAction.click(function() {
    // Send bookmark to your website
    appAPI.request.post({
      url: <YOUR_WEBSITE_URL>,
      postData: {
        bookmark: activeUrl,
        token: appAPI.db.get('userToken'); // User Credentials
      }
    });
  });
});

extension.js文件中,将用户凭据保存到扩展的数据库中:

appAPI.ready(function($) {
  // Your authentication code
  ...
  userToken = ...;
  // Save the credentials
  appAPI.db.set('userToken', userToken)
});

如果您需要进一步的帮助并认为 stackoverflow 不是讨论具体细节的合适论坛,请发送电子邮件至我们的支持团队 (support@crossrider.com)。

免责声明:我是 Crossrider 的员工

于 2013-05-26T09:40:46.430 回答