programing

Wordpress 사용자가 레일 설계로 이행

linuxpc 2023. 4. 1. 08:32
반응형

Wordpress 사용자가 레일 설계로 이행

나는 레일로의 워드프레스 이행 중에 있다.gand를 사용하는 레일에서는 기존 워드프레스 사용자의 해시 패스워드가 유일한 문제입니다.

모든 사용자를 레일로 이행하는 경우 오래된 비밀번호를 사용하여 어떻게 인증할 수 있습니까?레일에서 워드프레스와 동일한 해시를 생성할 수 있습니까?

예. Gand를 위한 사용자 지정 암호화기를 만들어야 합니다.

Wordpress는 여러 가지 방법으로 암호를 해시할 수 있지만 기본적으로는 phpass를 사용합니다.phpass-ruby라고 하는 보석으로 루비 실장이 되어 있어 암호기의 기반으로 사용할 수 있습니다.WP salt를 사용하기 위해 수정이 필요할 수 있습니다.또는 이 요지를 확인해 주십시오.

그렇지만.....

가능하면 사용자를 Import한 후 각각 새로운 비밀번호를 만들 것을 요청하는 이메일을 보내는 이 좋습니다.오래된 패스워드가 MD5 해시일 경우 사용자(또는 소프트웨어)가 오래된 패스워드를 새로운 사이트에 관련지을 수 없기 때문에 보다 안전하고 사용하기 쉬울 수 있습니다.

그러면 이전 암호를 사용하여 인증할 수 있습니다.패스워드를 변경하면 디폴트 [Grand BCrypt]해시가 사용됩니다.

Gemfile
gem 'phpass-ruby' # check WordPress passwords
User.rb
require "phpass"
class User < ApplicationRecord

  # For Devise to use WordPress passwords. WordPress uses a portable PHPass of MD5 plus a salt.
  def valid_password?(password)
    return false if encrypted_password.blank?
    begin
      return true if super
    rescue BCrypt::Errors::InvalidHash => e
      logger.info "Invalid BCrypt password for #{email}. Fallback to PHPass."
    end
    # Fallback to PHPass
    phpass = Phpass.new(8)
    return phpass.check(password, encrypted_password)
  end

언급URL : https://stackoverflow.com/questions/28804163/wordpress-users-migration-to-rails-devise

반응형