{"id":3677,"date":"2021-08-25T20:10:43","date_gmt":"2021-08-25T18:10:43","guid":{"rendered":"https:\/\/www.commercers.com\/blog\/?p=3677"},"modified":"2021-08-25T20:14:33","modified_gmt":"2021-08-25T18:14:33","slug":"magento-kunden-konten-von-magento-1-in-magento-2-migrieren-und-passwort-erhalten","status":"publish","type":"post","link":"https:\/\/www.commercers.com\/blog\/magento-kunden-konten-von-magento-1-in-magento-2-migrieren-und-passwort-erhalten\/","title":{"rendered":"Magento &#8211; Kunden Konten von Magento 1 in Magento 2 migrieren und Passwort \u00fcbernehmen"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">F\u00fcr ein Projekt wollten wir die Kundenkonten aus einem Magento 1 Shop in einen neuen Magento 2 (2.4.2) Shop importieren. Bei beiden Shops sind jeweils zwei Webseiten angelegt und somit stammen die Benutzerdaten auch von zwei Webseiten. Im neuen Shop sollen sie also auch wieder auf die beiden Webseiten verteilt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im ersten Schritt wurden \u00fcber die normale Export-Funktion von Magento 1 alle Kundenkonten exportiert. Hier sehen wir in der Export-Datei bereits die Passwort-Hashes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im zweiten Schritt exportieren wir die im neuen Shop bereits testweise angelegten Benutzerkonten (jeweils mind. eines pro Webseite), um die korrekten Feldbezeichnungen sowie Werte f\u00fcr Webseite, Storeview etc. zu sehen &#8211; also die Werte die Magento 2 beim Import erwartet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ich habe nun die CSV-Datei, die ich als Export durch Magento 2 erhalten habe in Open Office Calc (oder Excel) ge\u00f6ffnet. In einem weiteren Fenster die Export-Datei aus Magento 1. Nun habe ich den Magento 2-Export noch ein wenig angepasst, denn es werden nicht alle Felder bzw. Spalten ben\u00f6tigt. Bei mir waren dann noch folgende Spalten \u00fcbrig:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>email,_website,_store,created_in,disable_auto_group_change,firstname,group_id,lastname,password_hash,store_id,taxvat,website_id<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Nun habe ich die Werte aus der M1-Datei spaltenweise in die M2-Datei kopiert. Als alle Spalten gef\u00fcllt waren, habe ich die Datei als neue CSV-Datei f\u00fcr den Import in M2 abgespeichert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wichtig &#8211; generell immer auf das Format UTF-8 achten! Der Import in M2 funktionierte dann problemlos. Die Konten waren alle angelegt und sahen korrekt aus. Versuchte man sich nun aber im Frontend mit Benutzername \/ E-Mail und Passwort anzumelden, erhielt man immer den Hinweis <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>The account sign-in was incorrect or your account is disabled temporarily. Please wait and try again later.<\/p><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c4rgerlich! Es h\u00e4tte doch so einfach sein k\u00f6nnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Einige Suchanfragen bei Google sp\u00e4ter stellte sich heraus, dass beim Wechsel von Magento 1 auf Magento 2 die Verschl\u00fcsselung der Passw\u00f6rter vom MD5- auf den SHA256-Standard ver\u00e4ndert wurde. Daher sind die Passwort-Hashes im Export aus M1 auch deutlich k\u00fcrzer als die von M2.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entgegen einzelner Stellen im Netz bringt es NICHTS durch den SSH-Befehl<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>php -f bin\/magento customer:hash:upgrade<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">die importierten MD5 verschl\u00fcsselten Passw\u00f6rter in SHA256 zu \u00e4ndern, da Magento 2 zu MD5 abw\u00e4rtskompatibel ist. Schaden kann es aber auch nicht &#8211; nur wird anschlie\u00dfend der Login weiterhin nicht m\u00f6glich sein.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"407\" height=\"58\" src=\"https:\/\/www.commercers.com\/blog\/wp-content\/uploads\/2021\/08\/grafik.png\" alt=\"\" class=\"wp-image-3679\" srcset=\"https:\/\/www.commercers.com\/blog\/wp-content\/uploads\/2021\/08\/grafik.png 407w, https:\/\/www.commercers.com\/blog\/wp-content\/uploads\/2021\/08\/grafik-300x43.png 300w\" sizes=\"auto, (max-width: 407px) 100vw, 407px\" \/><figcaption>Oben SHA256 unten MD5<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Es gibt nun verschiedene Anbieter, die eine Software oder Extension anbieten, um den Transfer der Kundendaten vorzunehmen. Auch gibt es Nutzer, die von Anpassungen am Code der Magento 2 &#8211; Installation schreiben. Jedoch fand ich eine Randnotiz, die zu unglaublich war als dass ich sie nicht ausprobieren musste. Der Nutzer &#8220;Jack&#8221; schreibt auf Stackexchange (<a href=\"https:\/\/magento.stackexchange.com\/a\/259638\" target=\"_blank\" rel=\"noreferrer noopener\">Quelle<\/a>), dass er einfach ein &#8220;:0&#8221; an die MD5-Hashes angeh\u00e4ngt hat&#8230;.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"418\" height=\"66\" src=\"https:\/\/www.commercers.com\/blog\/wp-content\/uploads\/2021\/08\/grafik-1.png\" alt=\"\" class=\"wp-image-3680\" srcset=\"https:\/\/www.commercers.com\/blog\/wp-content\/uploads\/2021\/08\/grafik-1.png 418w, https:\/\/www.commercers.com\/blog\/wp-content\/uploads\/2021\/08\/grafik-1-300x47.png 300w\" sizes=\"auto, (max-width: 418px) 100vw, 418px\" \/><figcaption>Nach Anh\u00e4ngen von &#8220;:0&#8221; und Import aber vor erstem Einloggen.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"423\" height=\"59\" src=\"https:\/\/www.commercers.com\/blog\/wp-content\/uploads\/2021\/08\/grafik-2.png\" alt=\"\" class=\"wp-image-3681\" srcset=\"https:\/\/www.commercers.com\/blog\/wp-content\/uploads\/2021\/08\/grafik-2.png 423w, https:\/\/www.commercers.com\/blog\/wp-content\/uploads\/2021\/08\/grafik-2-300x42.png 300w\" sizes=\"auto, (max-width: 423px) 100vw, 423px\" \/><figcaption>Nach dem ersten Einloggen.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Es ist unglaublich aber wahr &#8211; man muss nur &#8220;:0&#8243; an jeden MD5-Passwort-Hash anh\u00e4ngen und der Login in den Magento 2 &#8211; Shop funktioniert mit dem alten Passwort. Kleiner Tipp f\u00fcr alle Excel- \/ Calc-Anf\u00e4nger: Eine Hilfsspalte mit der Formel =I2&amp;&#8221;:0&#8243; wirkt Wunder (&#8220;I2&#8221; steht nat\u00fcrlich f\u00fcr das Feld mit dem MD5-Hash). Man zieht die Formel dann einfach nach unten durch. Anschlie\u00dfend Spalte kopieren und Werte in die Hash-Spalte einf\u00fcgen. Die Hilfsspalte kann dann wieder weg.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>F\u00fcr ein Projekt wollten wir die Kundenkonten aus einem Magento 1 Shop in einen neuen Magento 2 (2.4.2) Shop importieren. Bei beiden Shops sind jeweils zwei Webseiten angelegt und somit stammen die Benutzerdaten auch von zwei Webseiten. Im neuen Shop sollen sie also auch wieder auf die beiden Webseiten verteilt werden. Im ersten Schritt wurden&#8230;<\/p>\n","protected":false},"author":2,"featured_media":3681,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3677","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/posts\/3677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/comments?post=3677"}],"version-history":[{"count":4,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/posts\/3677\/revisions"}],"predecessor-version":[{"id":3687,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/posts\/3677\/revisions\/3687"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/media\/3681"}],"wp:attachment":[{"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/media?parent=3677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/categories?post=3677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.commercers.com\/blog\/wp-json\/wp\/v2\/tags?post=3677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}