Создать пользовательский токен для Confirmable devise - PullRequest
1 голос
/ 23 сентября 2019

Я использую devise: Подтверждаемый и хочу использовать собственный токен, так как мне нужно добавить некоторые данные в сам токен подтверждения.Как это можно настроить?

Модель пользователя:

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable,
         :confirmable, :password_archivable

1 Ответ

1 голос
/ 23 сентября 2019

Devise использует перед созданием обратного вызова для генерации токена.

before_create :generate_confirmation_token, if: :confirmation_required?

Вы можете переопределить метод generate_confirmation_token для устройства devise в вашей модели User.

Сильфон - поведение по умолчанию дляmethod.

    # Generates a new random token for confirmation, and stores
    # the time this token is being generated in confirmation_sent_at
    def generate_confirmation_token
      if self.confirmation_token && !confirmation_period_expired?
        @raw_confirmation_token = self.confirmation_token
      else
        self.confirmation_token = @raw_confirmation_token = Devise.friendly_token
        self.confirmation_sent_at = Time.now.utc
      end
    end

Проверьте этот модуль для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...