6

Tôi đang xây dựng tiện ích mở rộng chrome giúp tạo danh sách liên hệ trực tiếp từ trình duyệt mà không cần phải tự chạy ứng dụng đường ray do chính tôi tạo ra. Liên hệ # Tạo yêu cầu xác thực vì vậy tôi tự hỏi làm thế nào tôi có thể gửi yêu cầu xác thực từ phần mở rộng.Tiện ích mở rộng của Chrome + Devise + Rails App - Đặt yêu cầu được xác thực từ tiện ích mở rộng?

Tôi đã bật phát minh TokenAuthenticatable và vì vậy người dùng của tôi có quyền tự động. Tôi đã viết một phương pháp trong phần mở rộng của tôi js mà gửi đến địa chỉ liên lạc của ứng dụng đường ray của tôi # tạo hành động. Để thử nghiệm, tôi đã chỉ đơn giản là cứng mã hóa auth token của riêng tôi trong, mà dường như làm việc. Nhưng làm cách nào để tiện ích có thể truy cập mã thông báo auth cho người dùng? Có vẻ như không đúng/an toàn để lưu mã thông báo này vào cookie.

Tôi nghĩ rằng tôi phải sử dụng chrome.cookies để truy cập và làm điều gì đó với thông tin phiên của ứng dụng của tôi bằng cách nào đó. Nhưng tôi chỉ nhận được một sessionID ở đây.

bất kỳ trợ giúp nào được đánh giá cao!

Trả lời

1

Mặc dù không phải từ tiện ích mở rộng của chrome, tôi đã xây dựng một thứ tương tự sẽ hoạt động từ thiết bị đầu cuối. Tôi đã kết thúc việc bỏ qua và tạo ra bằng cách xác thực mã thông báo riêng cho phép người dùng truy cập chỉ một hành động # controller mà tôi cần. Bằng cách đó bạn có thể giảm thiểu thiệt hại nếu mã thông báo bị đánh cắp. Vì vậy, dù sao, tôi sẽ cho phép người dùng tạo (và tạo lại) mã thông báo trong giao diện ứng dụng đường ray và làm cho nó để phần mở rộng yêu cầu mã thông báo trên lần khởi chạy đầu tiên. Tôi sẽ lưu mã thông báo trong localStorage.

+1

Cảm ơn bạn. Điều này là hữu ích và tôi nghĩ rằng nó sẽ làm việc. Tuy nhiên, tôi tò mò liệu việc lưu trữ thẻ trong localStorage có phải là phương pháp hay nhất hay không, cho dù nó có an toàn hay không và liệu các tiện ích mở rộng/ứng dụng web khác có thể truy cập nó với sự cho phép hoặc kiến ​​thức của người dùng hay không. –

Các vấn đề liên quan