Sha256: a17ffedd488efa75593f49d0920f6bc60870c15e44e56f33e5c95a519ccba581

Contents?: true

Size: 824 Bytes

Versions: 1

Compression:

Stored size: 824 Bytes

Contents

module DeviseTokenAuth
  class ConfirmationsController < Devise::ConfirmationsController
    include Devise::Controllers::Helpers

    def show
      @user = User.confirm_by_token(params[:confirmation_token])
      if @user
        sign_in @user

        # generate new auth token
        token = SecureRandom.urlsafe_base64(nil, false)

        # set new token as user password
        @user.password = token
        @user.password_confirmation = token
        @user.save

        redirect_to generate_url(@user.confirm_success_url, {
          email: @user.email,
          auth_token: token
        })
      else
        raise ActionController::RoutingError.new('Not Found')
      end
    end

    def generate_url(url, params = {})
      uri = URI(url)
      uri.query = params.to_query
      uri.to_s
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
devise_token_auth-0.1.4 app/controllers/devise_token_auth/confirmations_controller.rb