2012-03-05 37 views
9

Tôi hiện có ứng dụng sử dụng xác thực Devise thông thường để đăng nhập và đăng xuất, nhưng sử dụng mô-đun token_authenticatable của Devise để tạo mã thông báo duy nhất được sử dụng khi gửi dữ liệu đến ứng dụng từ bookmarklet. Mỗi người dùng nhận được một bookmarklet duy nhất với mã thông báo xác thực của họ được nướng ngay vào javascript. Tuy nhiên, cách Devise hiện được thiết lập, người dùng không có mã thông báo xác thực theo mặc định. Họ phải vào trang/edit/users, nhấn "Generate Token" và sau đó họ có một trong db.Tự động tạo Mã xác thực xác thực khi đăng ký

Tôi cần một cách để yêu cầu Devise tự động tạo mã thông báo xác thực cho mỗi người dùng khi đăng ký.

Tôi là một người mới, và tôi không chắc nơi tìm bộ điều khiển Devise để chỉnh sửa điều này, và thậm chí nếu tôi có thể tìm thấy chúng, tôi không hoàn toàn chắc chắn những gì tôi sẽ làm. Bất kỳ trợ giúp được chào đón! Cảm ơn.

Trả lời

15

Bạn có thể sử dụng trình trợ giúp ensure_authentication_token của Devise::Models::TokenAuthenticatable mô-đun.

Vì vậy, bạn User lớp có thể là như thế này:

class User < ActiveRecord::Base 
    devise :database_authenticatable 

    before_save :ensure_authentication_token 
end 
+0

Yep, mà sẽ làm điều đó! Cảm ơn –

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