6

我正在構建一個Chrome擴展,它可以直接從瀏覽器直接創建聯繫人,而無需轉到我的設計驅動的rails應用程序本身。聯繫人#創建要求身份驗證,所以我想知道如何可以從擴展發送經過身份驗證的請求。Chrome擴展+ Devise + Rails應用程序 - 通過擴展程序進行身份驗證請求?

我已啓用設計TokenAuthenticatable,所以我的用戶有一個authtoken。我在我的擴展js中寫了一個方法,發佈到我的rails應用的聯繫人#創建動作。對於測試,我只是硬編碼自己的身份驗證令牌,似乎工作。但是,擴展程序如何訪問用戶的身份驗證令牌?將此令牌存儲到cookie中似乎並不安全。

我想我應該使用chrome.cookies訪問並以某種方式對我的應用程序的會話信息做些什麼。但我只在這裏獲得sessionID。

任何幫助讚賞!

回答

1

雖然不是來自鉻擴展,但我正在構建類似的東西,從終端工作。我最終繞過了設計,並通過自己的令牌認證創建,這將允許用戶訪問我需要的一個控制器#操作。這樣,如果令牌被盜,你可以將傷害降到最低。

因此,無論如何,我會允許用戶在rails應用程序界面中生成(並重新生成)令牌,並使擴展程序在首次啓動時請求令牌。我會將標記本身存儲在localStorage中。

+1

謝謝 -

可以使用chrome.cookies.getAll()方法這裏詳述實現這一目標。這很有幫助,我認爲它會起作用。然而,我很好奇在localStorage中存儲令牌是否是一種最佳實踐,無論它是否安全以及其他擴展/網絡應用程序是否可以在沒有用戶許可或知識的情況下訪問它。 –