{"id":27739,"date":"2021-05-14T15:57:00","date_gmt":"2021-05-14T12:57:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27739"},"modified":"2021-10-18T03:47:07","modified_gmt":"2021-10-18T00:47:07","slug":"jak-dodac-logowanie-google-oauth-do-witryny-za-pomoca-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/jak-dodac-logowanie-google-oauth-do-witryny-za-pomoca-php\/","title":{"rendered":"Jak doda\u0107 logowanie Google OAuth do witryny za pomoc\u0105 PHP"},"content":{"rendered":"<p>Je\u015bli prowadzisz witryn\u0119, w kt\u00f3rej u\u017cytkownik mo\u017ce si\u0119 zarejestrowa\u0107, mo\u017cesz doda\u0107 funkcj\u0119 logowania Google OAuth. Logowanie przez Google w witrynach u\u0142atwia u\u017cytkownikom proces rejestracji. Twoi u\u017cytkownicy mog\u0105 u\u017cywa\u0107 swojego konta Google do rejestracji w Twojej witrynie. Nie musz\u0105 wype\u0142nia\u0107 formularza rejestracyjnego, aktywowa\u0107 konta przez e-mail itp.<\/p>\n<p>W tym artykule dowiemy si\u0119, jak doda\u0107 funkcj\u0119 logowania Google OAuth do swojej witryny.<\/p>\n<h3>Zdob\u0105d\u017a swoje po\u015bwiadczenia<\/h3>\n<p>Aby rozpocz\u0105\u0107 korzystanie z interfejsu API logowania Google, musisz najpierw utworzy\u0107 projekt w Google i uzyska\u0107 swoje dane uwierzytelniaj\u0105ce. Poni\u017cej znajduj\u0105 si\u0119 kroki, kt\u00f3re nale\u017cy wykona\u0107, aby utworzy\u0107 projekt Google.<\/p>\n<ul>\n<li>Przejd\u017a do <a href=\"https:\/\/console.developers.google.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Konsoli programisty Google<\/a>.<\/li>\n<li>Kliknij na rozwijane menu i utw\u00f3rz nowy projekt, klikaj\u0105c znak (+). Alternatywnie mo\u017cesz r\u00f3wnie\u017c wybra\u0107 istniej\u0105cy projekt.<\/li>\n<li>Wybierz sw\u00f3j projekt i kliknij \u201eW\u0141\u0104CZ API I US\u0141UGI&quot;. W polu wyszukiwania wpisz \u201eGoogle+&#8221; i wybierz interfejs API Google+. Odblokuj to.<\/li>\n<li>Ponownie przejd\u017a do pulpitu nawigacyjnego projektu i wybierz Po\u015bwiadczenia z paska bocznego.<\/li>\n<li>Na karcie Po\u015bwiadczenia kliknij menu rozwijane Utw\u00f3rz po\u015bwiadczenia i wybierz Identyfikator klienta OAuth.<\/li>\n<li>Wybierz aplikacj\u0119 internetow\u0105 z Typ aplikacji. W Autoryzowanych przekierowaniach wpisz adres URL<code>YOUR_DOMAIN_URL\/index.php<\/code><\/li>\n<li>Po zapisaniu otrzymasz okno dialogowe wraz z identyfikatorem klienta i kluczem tajnym klienta. Skopiuj te klucze, kt\u00f3rych b\u0119dziemy potrzebowa\u0107 w kolejnych krokach.<\/li>\n<\/ul>\n<p>Mo\u017cesz zauwa\u017cy\u0107 przekierowanie, kt\u00f3re ustawili\u015bmy w aplikacji. W tym samouczku zajmiemy si\u0119 kodem wywo\u0142ania zwrotnego w <code>index.php<\/code>. U\u017cytkownicy mog\u0105 swobodnie u\u017cywa\u0107 w tym celu dowolnego innego pliku.<\/p>\n<h3>Instalacja biblioteki HybridAuth<\/h3>\n<p><a href=\"https:\/\/hybridauth.github.io\/index.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">HybridAuth<\/a> to biblioteka PHP typu open source do logowania spo\u0142eczno\u015bciowego. Korzystaj\u0105c z tej biblioteki, mo\u017cemy doda\u0107 login spo\u0142eczno\u015bciowy dla jednego lub wielu dostawc\u00f3w, takich jak Google, Facebook, Twitter itp.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20615-60820ed8509b3.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20615-60820ed8509b3.png\" alt=\"Jak doda\u0107 logowanie Google OAuth do witryny za pomoc\u0105 PHP\" ><\/a><\/p>\n<p>Zainstalujmy bibliotek\u0119 HybridAuth za pomoc\u0105 kompozytora. Utw\u00f3rz <code>composer.json<\/code>plik w folderze g\u0142\u00f3wnym projektu i dodaj do niego poni\u017cszy kod.<\/p>\n<pre><code>{\n\u00a0\u00a0\u00a0\u00a0\"require\": {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"hybridauth\/hybridauth\": \"~3.0\"\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Nast\u0119pnie otw\u00f3rz terminal w katalogu g\u0142\u00f3wnym projektu i uruchom polecenie:<\/p>\n<pre><code>composer install<\/code><\/pre>\n<p>Utw\u00f3rz <code>config.php<\/code>plik i dodaj poni\u017cej kod, aby skonfigurowa\u0107 logowanie Google.<\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\n$config = [\n\u00a0\u00a0\u00a0\u00a0'callback' =&gt; 'YOUR_DOMAIN_URL\/index.php',\n\u00a0\u00a0\u00a0\u00a0'keys'\u00a0\u00a0\u00a0\u00a0 =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'id' =&gt; 'YOUR_CLIENT_ID',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'secret' =&gt; 'YOUR_CLIENT_SECRET'\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0'scope'\u00a0\u00a0\u00a0 =&gt; 'https:\/\/www.googleapis.com\/auth\/userinfo.profile https:\/\/www.googleapis.com\/auth\/userinfo.email',\n\u00a0\u00a0\u00a0\u00a0'authorize_url_parameters' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'approval_prompt' =&gt; 'force', \/\/ to pass only when you need to acquire a new refresh token.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'access_type' =&gt; 'offline'\n\u00a0\u00a0\u00a0\u00a0]\n];\n\u00a0\n$adapter = new HybridauthProviderGoogle( $config );<\/code><\/pre>\n<p>Pami\u0119taj, aby zast\u0105pi\u0107 symbole zast\u0119pcze rzeczywistymi warto\u015bciami. W powy\u017cszym kodzie przekazali\u015bmy <code>YOUR_DOMAIN_URL\/index.php<\/code>jako warto\u015b\u0107 wywo\u0142ania zwrotnego. Dostosuj t\u0119 \u015bcie\u017ck\u0119 zgodnie ze swoimi wymaganiami.<\/p>\n<h3>Dodaj login Google OAuth<\/h3>\n<p>Wszyscy przygotowali\u015bmy nasze konfiguracje i dobrze jest i\u015b\u0107 do przodu. Wi\u0119c stw\u00f3rzmy plik\u00f3w <code>index.php<\/code>oraz <code>logout.php<\/code>w katalogu projektu.<\/p>\n<p><strong>index.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'config.php';\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$adapter-&gt;authenticate();\n\u00a0\u00a0\u00a0\u00a0$userProfile = $adapter-&gt;getUserProfile();\n\u00a0\u00a0\u00a0\u00a0print_r($userProfile);\n\u00a0\u00a0\u00a0\u00a0echo '&lt;a href=\"logout.php\"&gt;Logout&lt;\/a&gt;';\n}\ncatch( Exception $e ){\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage() ;\n}<\/code><\/pre>\n<p>Teraz po uruchomieniu <code>index.php<\/code>w przegl\u0105darce nasz kod najpierw sprawdza, czy u\u017cytkownik jest uwierzytelniony przez \u201eGoogle&#8221;, czy nie. Je\u015bli nie, przekierowuje na stron\u0119 logowania Google. U\u017cytkownik musi zalogowa\u0107 si\u0119 na swoje konto Google, a nast\u0119pnie ponownie przekieruje <code>index.php<\/code>. Gdy u\u017cytkownik wchodzi na stron\u0119 logowania, uzyskujemy profil u\u017cytkownika za pomoc\u0105 metody <code>getUserProfile()<\/code>.<\/p>\n<p>W <code>logout.php<\/code>pliku wystarczy od\u0142\u0105czy\u0107 adapter Google.<\/p>\n<p><strong>wyloguj.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'config.php';\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0if ($adapter-&gt;isConnected()) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$adapter-&gt;disconnect();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo 'Logged out the user';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo '&lt;p&gt;&lt;a href=\"index.php\"&gt;Login&lt;\/a&gt;&lt;\/p&gt;';\n\u00a0\u00a0\u00a0\u00a0}\n}\ncatch( Exception $e ){\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage() ;\n}<\/code><\/pre>\n<p>Mamy nadziej\u0119, \u017ce dowiesz si\u0119 o <strong>logowaniu Google OAuth<\/strong> w witrynie z PHP. 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\/zaloguj-sie-przez-google-w-laravel-za-pomoca-laravel-socialite\/\" title=\"Logowanie Google w Laravel za pomoc\u0105 Laravel Socialite\">Logowanie Google w Laravel za pomoc\u0105 Laravel Socialite<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-zintegrowac-biuletyn-mailchimp-z-aplikacja-laravel\/\" title=\"Jak zintegrowa\u0107 biuletyn MailChimp z aplikacj\u0105 Laravel?\">Jak zintegrowa\u0107 biuletyn MailChimp z aplikacj\u0105 Laravel?<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-wykonac-kopie-zapasowa-aplikacji-laravel\/\" title=\"Jak wykona\u0107 kopi\u0119 zapasow\u0105 aplikacji Laravel\">Jak wykona\u0107 kopi\u0119 zapasow\u0105 aplikacji 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>Czy chcesz doda\u0107 logowanie Google OAuth do swojej witryny? W tym artykule pokazujemy, jak mo\u017cna doda\u0107 logowanie Google do witryn korzystaj\u0105cych z biblioteki HybridAuth.<\/p>\n","protected":false},"author":1,"featured_media":22248,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[277],"tags":[847],"class_list":["post-27739","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-8","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/27739","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=27739"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/27739\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/22248"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=27739"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=27739"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=27739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}