Chrome扩展程序+设计+ Rails应用程序 - 从扩展程序进行经过身份验证的请求?

时间:2012-12-03 10:14:51

标签: javascript ruby-on-rails google-chrome google-chrome-extension devise

我正在构建一个chrome扩展程序,可以直接从浏览器创建联系人,而无需转到我的设计驱动的rails应用程序本身。联系人#Create需要身份验证,所以我想知道如何从扩展程序发送经过身份验证的请求。

我启用了设计TokenAuthenticatable,因此我的用户有一个authtoken。我在我的扩展程序js中写了一个方法,发布到我的rails应用程序的联系人#create action。为了进行测试,我只是硬编码了我自己的身份验证令牌,这似乎有效。但是扩展如何为用户访问auth令牌?将此令牌存储到cookie中似乎是正确/安全的。

我认为我应该使用chrome.cookies访问并以某种方式对我的应用程序的会话信息执行某些操作。但我这里只得到一个sessionID。

任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:1)

虽然不是来自Chrome扩展程序,但我正在构建类似于终端的工作方式。我最终绕过设计并通过自己的令牌认证创建,这将允许用户只访问我需要的一个控制器#动作。这样,如果令牌被盗,你可以最大限度地减少损失。

所以无论如何,我会允许用户在rails应用程序界面中生成(并重新生成)令牌并使其成为扩展程序在第一次启动时请求令牌。我将令牌本身存储在localStorage中。

答案 1 :(得分:0)

您还可以查看存储在应用Cookie中的authentifiation_token

您可以使用此处详述的chrome.cookies.getAll()方法 - https://developer.chrome.com/extensions/cookies#method-getAll

来实现此目的