Migration von WordPress-Benutzern zu Rails devise

Lesezeit: 1 Minute

Ich bin mitten in meiner WordPress-Migration zu Rails. In Rails werde ich devise verwenden, das einzige Problem ist das Hash-Passwort des vorhandenen WordPress-Benutzers.

Wenn ich alle Benutzer zu Rails migriere, wie kann ich mich mit dem alten Passwort authentifizieren? Ist es möglich, dass Rails denselben Hash wie WordPress generiert?

Ja. Du wirst brauchen Erstellen Sie einen benutzerdefinierten Verschlüsseler für Devise.

WordPress kann Passwörter auf verschiedene Arten hashen, aber verwendet standardmäßig phpass. Es gibt eine Ruby-Implementierung als Edelstein genannt phpass-rubin, die Sie als Grundlage für Ihren Verschlüssler verwenden könnten. Möglicherweise müssen Sie dies ändern, um Ihr WP-Salz zu verwenden. Alternativ check out dieses Wesentliche.

Aber…

Wenn möglich, würde ich dann empfehlen, die Benutzer zu importieren Senden einer E-Mail an jeden sie auffordern, ein neues Passwort zu erstellen. Wenn Ihre alten Passwörter MD5-gehasht sind, ist dies sicherer und möglicherweise benutzerfreundlicher, da Benutzer (oder Software) das alte Passwort möglicherweise nicht mit der neuen Website verknüpfen.

Chloes Benutzeravatar
Chloe

Dies ermöglicht die Authentifizierung mit dem alten Passwort. Wenn sie ihr Passwort ändern, wird stattdessen der Standard-Hash von Devise BCrypt verwendet.

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

  • Das scheint nicht mehr zu funktionieren. (Vielleicht ist die WordPress-Version wichtig?)

    – jdar

    15. Oktober 2019 um 0:30 Uhr

1386540cookie-checkMigration von WordPress-Benutzern zu Rails devise

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy