{"id":27531,"date":"2021-05-10T13:41:00","date_gmt":"2021-05-10T10:41:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27531"},"modified":"2021-10-18T03:48:25","modified_gmt":"2021-10-18T00:48:25","slug":"jak-wyslac-e-mail-aktywacyjny-w-laravel-po-rejestracji-uzytkownika","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/jak-wyslac-e-mail-aktywacyjny-w-laravel-po-rejestracji-uzytkownika\/","title":{"rendered":"Jak wys\u0142a\u0107 e-mail aktywacyjny w Laravel po rejestracji u\u017cytkownika?"},"content":{"rendered":"<p>Laravel jest wyposa\u017cony w przep\u0142yw uwierzytelniania, gdy go instalujemy. Obejmuje logowanie, rejestracj\u0119, przep\u0142yw zapomnianego has\u0142a w samym rdzeniu Laravel. Korzystaj\u0105c z tego wbudowanego przep\u0142ywu, po zarejestrowaniu u\u017cytkownik uzyskuje bezpo\u015bredni dost\u0119p do systemu. Ale co, je\u015bli kto\u015b chce wys\u0142a\u0107 e-mailowy kod weryfikacyjny przed zezwoleniem u\u017cytkownikowi na korzystanie z aplikacji. W tym artykule dowiemy si\u0119, jak wys\u0142a\u0107 e-mail aktywacyjny w Laravel.<\/p>\n<p>Wy\u015blemy u\u017cytkownikowi wiadomo\u015b\u0107 e-mail z potwierdzeniem. Gdy u\u017cytkownik kliknie w link weryfikacyjny przes\u0142any w wiadomo\u015bci e-mail, tylko on b\u0119dzie m\u00f3g\u0142 korzysta\u0107 z systemu.<\/p>\n<h3>Pierwsze kroki<\/h3>\n<p>Aby rozpocz\u0105\u0107, najpierw instalujemy pakiet w naszym projekcie Laravel. Otw\u00f3rz terminal w katalogu g\u0142\u00f3wnym projektu i uruchom polecenie:<\/p>\n<pre><code>composer require beyondcode\/laravel-confirm-email<\/code><\/pre>\n<p>Ten <a href=\"https:\/\/github.com\/beyondcode\/laravel-confirm-email\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">pakiet,<\/a> kt\u00f3ry dodaje weryfikacj\u0119 e-mail do twoich projekt\u00f3w Laravel.<\/p>\n<p>Po zainstalowaniu pakietu powinni\u015bmy uruchomi\u0107 polecenie, aby opublikowa\u0107 migracj\u0119 i plik konfiguracyjny.<\/p>\n<pre><code>php artisan vendor:publish --provider=BeyondCodeEmailConfirmationEmailConfirmationServiceProvider<\/code><\/pre>\n<p>W <code>users<\/code>tabeli ten pakiet dodaje dwie kolumny <code>confirmed_at<\/code>i <code>confirmation_code<\/code>. Uruchommy polecenie migracji, aby doda\u0107 te kolumny.<\/p>\n<pre><code>php artisan migrate<\/code><\/pre>\n<h3>Konfiguracja<\/h3>\n<p>Aby wys\u0142a\u0107 e-mail aktywacyjny, musimy zamieni\u0107 <code>AuthenticatesUsers<\/code>, <code>RegistersUsers<\/code>a <code>SendsPasswordResetEmails<\/code>cechy na te, kt\u00f3re zapewnia ten pakiet.<\/p>\n<p>Najpierw otw\u00f3rz poni\u017csze pliki w swoim edytorze, a nast\u0119pnie zast\u0105pimy cechy jeden po drugim.<\/p>\n<ul>\n<li>appHttpControllersAuthLoginController.php<\/li>\n<li>appHttpControllersAuthRegisterController.php<\/li>\n<li>appHttpControllersAuthForgotPasswordController.php<\/li>\n<\/ul>\n<p>Z powy\u017cszych plik\u00f3w zast\u0105p o\u015bwiadczenia<\/p>\n<ul>\n<li><code>use IlluminateFoundationAuthAuthenticatesUsers;<\/code><\/li>\n<li><code>use IlluminateFoundationAuthRegistersUsers;<\/code><\/li>\n<li><code>use IlluminateFoundationAuthSendsPasswordResetEmails;<\/code><\/li>\n<\/ul>\n<p>Z<\/p>\n<ul>\n<li><code>use BeyondCodeEmailConfirmationTraitsAuthenticatesUsers;<\/code><\/li>\n<li><code>use BeyondCodeEmailConfirmationTraitsRegistersUsers;<\/code><\/li>\n<li><code>use BeyondCodeEmailConfirmationTraitsSendsPasswordResetEmails;<\/code><\/li>\n<\/ul>\n<p>Poniewa\u017c wysy\u0142amy link weryfikacyjny w e-mailu aktywacyjnym, dodaj nast\u0119puj\u0105ce dwie trasy w <code>routes\/web.php<\/code>pliku.<\/p>\n<pre><code>Route::name('auth.resend_confirmation')-&gt;get('\/register\/confirm\/resend', 'AuthRegisterController@resendConfirmation');\nRoute::name('auth.confirm')-&gt;get('\/register\/confirm\/{confirmation_code}', 'AuthRegisterController@confirm');<\/code><\/pre>\n<p>Gdy u\u017cytkownik kliknie \u0142\u0105cze weryfikacyjne, ten pakiet dodaje wiadomo\u015bci flash, kt\u00f3re zawieraj\u0105 komunikat o b\u0142\u0119dzie\/informacj\u0119 dla u\u017cytkownik\u00f3w. Aby wy\u015bwietli\u0107 t\u0119 wiadomo\u015b\u0107 flash u\u017cytkownikom, dodaj poni\u017cszy kod w <code>resourcesviewsauthlogin.blade.php<\/code>.<\/p>\n<pre><code>.....\n&lt;div class=\"panel-body\"&gt;\n\u00a0\u00a0\u00a0\u00a0@if (session('confirmation'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"alert alert-info\" role=\"alert\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{!! session('confirmation') !!}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0@endif\n\u00a0\n\u00a0\u00a0\u00a0\u00a0@if ($errors-&gt;has('confirmation') &gt; 0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"alert alert-danger\" role=\"alert\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{!! $errors-&gt;first('confirmation') !!}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0@endif\n.....<\/code><\/pre>\n<p>Musimy r\u00f3wnie\u017c doda\u0107 poni\u017cszy kod w <code>resourcesviewsauthpasswordsemail.blade.php<\/code><\/p>\n<pre><code>.....\n&lt;div class=\"panel-body\"&gt;\n\u00a0\u00a0\u00a0\u00a0@if ($errors-&gt;has('confirmation') &gt; 0) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;div class=\"alert alert-danger\" role=\"alert\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{!! $errors-&gt;first('confirmation') !!}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0\u00a0\u00a0@endif\n.....<\/code><\/pre>\n<p>Ot\u00f3\u017c \u200b\u200bto! Teraz, gdy u\u017cytkownik dokona rejestracji w Twojej witrynie, otrzyma e-mail aktywacyjny, aby potwierdzi\u0107 swoje konto. Podziel si\u0119 swoimi przemy\u015bleniami w sekcji komentarzy poni\u017cej.<\/p>\n<h4>Powi\u0105zane artyku\u0142y<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-uzywac-laravel-passport-do-uwierzytelniania-rest-api\/\" title=\"Jak u\u017cywa\u0107 Laravel Passport do uwierzytelniania REST API?\">Jak u\u017cywa\u0107 Laravel Passport do uwierzytelniania REST API?<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-przeslac-plik-do-s3-za-pomoca-systemu-plikow-laravel\/\" title=\"Jak przes\u0142a\u0107 plik do S3 za pomoc\u0105 systemu plik\u00f3w Laravel?\">Jak przes\u0142a\u0107 plik do S3 za pomoc\u0105 systemu plik\u00f3w Laravel?<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>W tym artykule pokazujemy, jak wys\u0142a\u0107 e-mail aktywacyjny w Laraver, gdy u\u017cytkownik dokona rejestracji. Domy\u015blnie Laravel automatycznie loguje u\u017cytkownika podczas rejestracji<\/p>\n","protected":false},"author":1,"featured_media":22164,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[501],"tags":[847],"class_list":["post-27531","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/27531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=27531"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/27531\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/22164"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=27531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=27531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=27531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}