{"id":25679,"date":"2021-06-12T12:54:00","date_gmt":"2021-06-12T09:54:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=25679"},"modified":"2021-10-17T20:19:06","modified_gmt":"2021-10-17T17:19:06","slug":"kirjaudu-sisaan-linkedinilla-laravelissa-laravel-socialiten-avulla","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/kirjaudu-sisaan-linkedinilla-laravelissa-laravel-socialiten-avulla\/","title":{"rendered":"Kirjaudu sis\u00e4\u00e4n LinkedInill\u00e4 Laravelissa Laravel Socialiten avulla"},"content":{"rendered":"<p>Sosiaalisen kirjautumisj\u00e4rjestelm\u00e4n lis\u00e4\u00e4minen verkkosivustolle on nyky\u00e4\u00e4n trendi. Integroimalla sosiaalinen sis\u00e4\u00e4nkirjautuminen se ohittaa k\u00e4ytt\u00e4j\u00e4n vahvistusprosessin. Sosiaaliset sivustot ovat jo vahvistaneet k\u00e4ytt\u00e4j\u00e4t, joten sovelluksemme ei tarvitse noudattaa samaa prosessia k\u00e4ytt\u00e4j\u00e4n kanssa. Voimme luottaa sosiaalisiin sivustoihin ja antaa k\u00e4ytt\u00e4j\u00e4n k\u00e4ytt\u00e4\u00e4 j\u00e4rjestelm\u00e4\u00e4mme, jos h\u00e4n kirjautuu sis\u00e4\u00e4n verkkosivustomme sosiaalisen sivuston kautta. Facebook, Twitter, Google, LinkedIn ovat suosittuja sosiaalisia sivustoja, jotka on yleens\u00e4 integroitu sosiaaliseksi sis\u00e4\u00e4nkirjautumiseksi verkkosivustolle. T\u00e4ss\u00e4 artikkelissa k\u00e4sitell\u00e4\u00e4n sis\u00e4\u00e4nkirjautumista LinkedInin kanssa Laravelissa.<\/p>\n<p>Oppaamme varten integroin LinkedIn-kirjautumisen uuteen Laravel-asennukseen. Aion asentaa Laravelin, luoda &#8217;k\u00e4ytt\u00e4jien&#8217; taulukon ja asentaa paketit, joita tarvitaan sosiaalisen kirjautumisj\u00e4rjestelm\u00e4n integroimiseen.<\/p>\n<p>Asenna Laravel suorittamalla alla oleva komento. T\u00e4\u00e4ll\u00e4 luon projektin &#8221; kirjautuneena &#8221;.<\/p>\n<pre><code>composer create-project --prefer-dist laravel\/laravel linkedinlogin<\/code><\/pre>\n<p>Luo asennuksen j\u00e4lkeen tietokanta ja aseta <code>.env<\/code>tiedostoon kirjautumistiedot. Rakennamme kirjautumisj\u00e4rjestelm\u00e4\u00e4, joten meid\u00e4n tulisi tallentaa k\u00e4ytt\u00e4j\u00e4n tiedot tietokantaan.<\/p>\n<p>T\u00e4m\u00e4 opetusohjelma perustuu LinkedIn-kirjautumiseen, joten saamme k\u00e4ytt\u00e4j\u00e4n LinkedIn-profiilin tunnuksen onnistuneen todennuksen j\u00e4lkeen. T\u00e4m\u00e4n sosiaalisen tunnuksen tallentamiseksi lis\u00e4\u00e4mme sarakkeet tarjoaja ja tarjoajan tunnus. T\u00e4ss\u00e4 palveluntarjoajan sarake tallentaa arvon &#8217;linkedin&#8217; ja tarjoajan_tunnus tallentaa k\u00e4ytt\u00e4j\u00e4n sosiaalisen tunnuksen.<\/p>\n<p>Kun k\u00e4ytimme sosiaalista sis\u00e4\u00e4nkirjautumista, meid\u00e4n ei tarvitse tallentaa salasanoja, joten salasanasarakkeen arvon tulisi hyv\u00e4ksy\u00e4 oletusarvo &#8217;NULL&#8217;. Ei ole takeita k\u00e4ytt\u00e4j\u00e4n s\u00e4hk\u00f6postin saamisesta sosiaalisen sis\u00e4\u00e4nkirjautumisen j\u00e4lkeen, joten uteliaisuuden vuoksi meid\u00e4n on my\u00f6s asetettava s\u00e4hk\u00f6postisarake hyv\u00e4ksym\u00e4\u00e4n NULL.<\/p>\n<p>Avaa k\u00e4ytt\u00e4jien taulukon siirtotiedosto ja lis\u00e4\u00e4 koodi alla.<\/p>\n<pre><code>\/**\n\u00a0* Run the migrations.\n\u00a0*\n\u00a0* @return void\n\u00a0*\/\npublic function up()\n{\n\u00a0\u00a0\u00a0\u00a0Schema::create('users', function (Blueprint $table) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;increments('id');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;string('name');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;string('email')-&gt;nullable();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;timestamp('email_verified_at')-&gt;nullable();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;string('password')-&gt;nullable();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;string('provider');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;string('provider_id');\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;rememberToken();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$table-&gt;timestamps();\n\u00a0\u00a0\u00a0\u00a0});\n}<\/code><\/pre>\n<p>Suorita alla oleva komento, joka luo taulukot tietokantaamme.<\/p>\n<pre><code>php artisan migrate<\/code><\/pre>\n<p>Meid\u00e4n on my\u00f6s lis\u00e4tt\u00e4v\u00e4 n\u00e4m\u00e4 kaksi saraketta k\u00e4ytt\u00e4j\u00e4malliin.<\/p>\n<p><strong>app \/ User.php<\/strong><\/p>\n<pre><code>\/**\n\u00a0* The attributes that are mass assignable.\n\u00a0*\n\u00a0* @var array\n\u00a0*\/\nprotected $fillable = [\n\u00a0\u00a0\u00a0\u00a0'name', 'email', 'password', 'provider', 'provider_id'\n];<\/code><\/pre>\n<h3>Luo LinkedIn-sovellus<\/h3>\n<p>LinkedIn-sis\u00e4\u00e4nkirjautumisen integroimiseksi sinun on luotava sovellus LinkedIn-tilillesi. Tarvitsemme LinkedIn-sovelluksen asiakastunnuksen, asiakassalaisuuden. Meid\u00e4n on my\u00f6s m\u00e4\u00e4ritett\u00e4v\u00e4 valtuutettu uudelleenohjauksen URL-osoite sovelluksessa.<\/p>\n<ul>\n<li>Siirry <a href=\"https:\/\/www.linkedin.com\/secure\/developer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">LinkedIn-kehitt\u00e4j\u00e4verkostoon<\/a>.<\/li>\n<li>Napsauta Luo sovellus -painiketta.<\/li>\n<li>T\u00e4yt\u00e4 lomakkeen tiedot.<\/li>\n<li>Lis\u00e4\u00e4 <code>http:\/\/localhost:8000\/linkedin\/callback<\/code>Valtuutetut uudelleenohjaus-URL-osoitteet -kentt\u00e4\u00e4n.<\/li>\n<li>Kopioi asiakastunnus ja asiakassalaisuudet.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20253-6081d37e35c27.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-20253-6081d37e35c27.png\" alt=\"Kirjaudu sis\u00e4\u00e4n LinkedInill\u00e4 Laravelissa Laravel Socialiten avulla\" ><\/a><\/p>\n<p>Edell\u00e4 mainittujen vaiheiden j\u00e4lkeen sinun on lis\u00e4tt\u00e4v\u00e4 tuote &#8217;Kirjaudu sis\u00e4\u00e4n LinkedInill\u00e4&#8217; LinkedIn-sovellukseesi. Napsauta Tuotteet-v\u00e4lilehte\u00e4 ja valitse Kirjaudu sis\u00e4\u00e4n LinkedInill\u00e4. Kun valitset t\u00e4m\u00e4n tuotteen, se tarkistetaan ja lis\u00e4t\u00e4\u00e4n sitten lis\u00e4tyksi tuotteeksi. T\u00e4m\u00e4 voi kest\u00e4\u00e4 jonkin aikaa tarkistamiseen. Minun tapauksessani kesti noin 10 minuuttia.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20253-6081d37e35c27.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-20253-6081d37e35c27.png\" alt=\"Kirjaudu sis\u00e4\u00e4n LinkedInill\u00e4 Laravelissa Laravel Socialiten avulla\" ><\/a><\/p>\n<h3>Luo reitit ja ohjain<\/h3>\n<p>Voimme nyt aloittaa koodin lis\u00e4\u00e4misen Laraveliin. Luo ohjain <code>LoginController<\/code>komennolla:<\/p>\n<pre><code>php artisan make:controller LoginController<\/code><\/pre>\n<p>Luo seuraavaksi korttitiedosto <code>login.blade.php<\/code>ja lis\u00e4\u00e4 siihen seuraava HTML.<\/p>\n<pre><code>&lt;a href=\"{{ url('\/login\/linkedin') }}\"&gt;\n\u00a0\u00a0\u00a0\u00a0{{ __('Login with LinkedIn') }}\n&lt;\/a&gt;<\/code><\/pre>\n<p>Kutsuvat t\u00e4t\u00e4 n\u00e4kym\u00e4 <code>index<\/code>menetelm\u00e4\u00e4 <code>LoginController<\/code>seuraavasti.<\/p>\n<pre><code>public function index()\n{\n\u00a0\u00a0\u00a0\u00a0return view('login');\n}<\/code><\/pre>\n<p>M\u00e4\u00e4ritet\u00e4\u00e4n sen reitit. Lis\u00e4\u00e4n my\u00f6s muutaman reitin, jotka vaaditaan opetusohjelman seuraavassa osassa.<\/p>\n<pre><code>Route::get('login', 'LoginController@index');\nRoute::get('login\/{provider}', 'LoginController@redirectToProvider');\nRoute::get('{provider}\/callback', 'LoginController@handleProviderCallback');\nRoute::get('\/home', function() {\n\u00a0\u00a0\u00a0\u00a0return 'User is logged in';\n});<\/code><\/pre>\n<p>Kun k\u00e4ytt\u00e4j\u00e4 kirjautuu sis\u00e4\u00e4n LinkedInill\u00e4, ohjaan heid\u00e4t <code>home<\/code>reitille. Se on vain demotarkoituksiin. Sinun pit\u00e4isi vaihtaa t\u00e4m\u00e4 reitti joksikin muuksi.<\/p>\n<h3>Kirjaudu sis\u00e4\u00e4n LinkedIn Laravelilla<\/h3>\n<p>Laravelilla on virallinen paketti Socialite. T\u00e4m\u00e4 paketti auttaa meit\u00e4 integroimaan sosiaalisen kirjautumisj\u00e4rjestelm\u00e4n helposti Laraveliin. Asenna t\u00e4m\u00e4 paketti komennolla:<\/p>\n<pre><code>composer require laravel\/socialite<\/code><\/pre>\n<p>Kun olet asentanut kirjaston, avaa <code>config\/services.php<\/code>ja lis\u00e4\u00e4 LinkedIn-m\u00e4\u00e4ritykset seuraavasti:<\/p>\n<pre><code>'linkedin' =&gt; [\n\u00a0\u00a0\u00a0\u00a0'client_id' =&gt; env('LINKEDIN_CLIENT_ID'),\n\u00a0\u00a0\u00a0\u00a0'client_secret' =&gt; env('LINKEDIN_CLIENT_SECRET'),\n\u00a0\u00a0\u00a0\u00a0'redirect' =&gt; env('LINKEDIN_CALLBACK_URL'),\n],<\/code><\/pre>\n<p>Nyt meid\u00e4n on lis\u00e4tt\u00e4v\u00e4 vakioarvomme <code>.env<\/code>tiedostoon.<\/p>\n<pre><code>LINKEDIN_CLIENT_ID=YOUR_CLIENT_ID\nLINKEDIN_CLIENT_SECRET=YOUR_CLIENT_SECRET\nLINKEDIN_CALLBACK_URL=http:\/\/localhost:8000\/linkedin\/callback<\/code><\/pre>\n<p>Muista korvata paikkamerkit niiden todellisilla arvoilla. Viimeisten s\u00e4\u00e4t\u00f6jen tulisi olla <code>LoginController.php<\/code>tiedostossa. T\u00e4ss\u00e4 tiedostossa kirjoitamme toiminnon, joka ohjaa k\u00e4ytt\u00e4j\u00e4n LinkedIn-kirjautumissivulle, ja onnistuneen valtuutuksen yhteydess\u00e4 se kirjaa k\u00e4ytt\u00e4j\u00e4n sis\u00e4\u00e4n.<\/p>\n<p><strong>LoginController.php<\/strong><\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse IlluminateHttpRequest;\nuse Socialite;\nuse AppModelsUser;\nuse Auth;\n\u00a0\nclass LoginController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* Where to redirect users after login.\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0* @var string\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0protected $redirectTo = '\/home';\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* Call the view\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0public function index()\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return view('login');\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* Redirect the user to the Linkedin authentication page.\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0* @return Response\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0public function redirectToProvider($provider)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return Socialite::driver($provider)-&gt;scopes(['r_liteprofile', 'r_emailaddress'])-&gt;redirect();\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* Obtain the user information from Linkedin.\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0* @return Response\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0public function handleProviderCallback($provider)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$user = Socialite::driver($provider)-&gt;user();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$authUser = $this-&gt;findOrCreateUser($user, $provider);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Auth::login($authUser, true);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return redirect($this-&gt;redirectTo);\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* If a user has registered before using social auth, return the user\n\u00a0\u00a0\u00a0\u00a0\u00a0* else, create a new user object.\n\u00a0\u00a0\u00a0\u00a0\u00a0* @param\u00a0 $user Socialite user object\n\u00a0\u00a0\u00a0\u00a0\u00a0* @param $provider Social auth provider\n\u00a0\u00a0\u00a0\u00a0\u00a0* @return\u00a0 User\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0public function findOrCreateUser($user, $provider)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$authUser = User::where('provider_id', $user-&gt;id)-&gt;first();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if ($authUser) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return $authUser;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return User::create([\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'name'\u00a0\u00a0\u00a0\u00a0 =&gt; $user-&gt;name,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'email'\u00a0\u00a0\u00a0 =&gt; $user-&gt;email,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'provider' =&gt; $provider,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'provider_id' =&gt; $user-&gt;id\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Asetuksessamme <code>LoginController<\/code>asetamme soveltamisalat, <code>['r_liteprofile',\u00a0'r_emailaddress']<\/code>joita tarvitaan LinkedIn-k\u00e4ytt\u00e4j\u00e4n perustietojen noutamiseen. Soittomenetelm\u00e4ss\u00e4 tarkistamme onko k\u00e4ytt\u00e4j\u00e4 olemassa ja jos ei ole, lis\u00e4t\u00e4\u00e4n sitten k\u00e4ytt\u00e4j\u00e4 tietokantaan.<\/p>\n<p>Toivon, ett\u00e4 ymm\u00e4rr\u00e4t, kuinka kirjaudut sis\u00e4\u00e4n LinkedInill\u00e4 Laravelissa. Haluaisin kuulla ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.<\/p>\n<h4>Aiheeseen liittyv\u00e4t artikkelit<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/google-kirjautuminen-laravelissa-laravel-socialiten-avulla\/\" title=\"Google-kirjautuminen Laravelissa Laravel Socialiten avulla\">Google-kirjautuminen Laravelissa Laravel Socialiten avulla<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-lisata-google-oauth-kirjautuminen-verkkosivustoon-php-n-avulla\/\" title=\"Kuinka lis\u00e4t\u00e4 Google OAuth -kirjautuminen verkkosivustoon PHP: n avulla\">Kuinka lis\u00e4t\u00e4 Google OAuth -kirjautuminen verkkosivustoon PHP: n avulla<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/luo-monikielinen-verkkosivusto-php-ssa-laravel-frameworkin-avulla\/\" title=\"Luo monikielinen verkkosivusto PHP: ss\u00e4 Laravel Frameworkin avulla\">Luo monikielinen verkkosivusto PHP: ss\u00e4 Laravel Frameworkin avulla<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4ss\u00e4 artikkelissa n\u00e4yt\u00e4n sinulle, kuinka voit lis\u00e4t\u00e4 kirjautumisen LinkedInill\u00e4 k\u00e4ytt\u00e4m\u00e4ll\u00e4 Laravel Socialite -ohjelmaa Laravel-sovelluksessasi. K\u00e4ytt\u00e4m\u00e4ll\u00e4 sosiaalista kirjautumista k\u00e4ytt\u00e4j\u00e4t<\/p>\n","protected":false},"author":1,"featured_media":20254,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[499],"tags":[843],"class_list":["post-25679","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/25679","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=25679"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/25679\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/20254"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=25679"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=25679"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=25679"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}