{"id":26031,"date":"2021-06-08T18:13:00","date_gmt":"2021-06-08T15:13:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=26031"},"modified":"2021-10-17T18:25:19","modified_gmt":"2021-10-17T15:25:19","slug":"mobiilirakenduste-autentimine-tokariga-laravelis","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/et\/mobiilirakenduste-autentimine-tokariga-laravelis\/","title":{"rendered":"Mobiilirakenduste autentimine Tokariga Laravelis"},"content":{"rendered":"<p>Kas kasutate Laraveli oma mobiilirakenduse tagatipuks? Kui jah, siis ilmselt otsite lihtsat lahendust oma mobiilirakenduse autentimiseks. Paljud kasutajad v\u00f5ivad teie mobiilirakendust kasutada ja soovite oma mobiilikasutajatele sisu esitamiseks autentida. Selles artiklis uurime, kuidas Laravelis s\u00fcmboolset autentimist teha. Sama l\u00e4henemist saate kasutada ka REST API autentimiseks.<\/p>\n<p>Integreerime <a href=\"https:\/\/laravel.com\/docs\/master\/sanctum\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laraveli Sanctumi,<\/a> mis on kerge autentimiss\u00fcsteem. V\u00f5ite seda pidada OAuth-p\u00f5hise autentimise asendajaks.<\/p>\n<p>Sanctumi kasutamise ajal salvestatakse andmebaasi kasutaja API-m\u00e4rgid. See luba tuleb saata <code>Bearer<\/code>loana <code>Authorization<\/code>p\u00e4ise kaudu oma mobiilirakendusest Laraveli API l\u00f5pp-punktidesse. Nendel m\u00e4rkidel on tavaliselt v\u00e4ga pikk aegumisaeg (aastad).<\/p>\n<p>Sellest hoolimata vaatame, kuidas kasutada Sanctumit mobiilirakenduste autentimiseks.<\/p>\n<h3>Installige ja konfigureerige Laraveli p\u00fchamu<\/h3>\n<p>Alustamiseks peate k\u00f5igepealt installima oma Laraveli rakendusse Sanctumi paketi. Installige see k\u00e4suga:<\/p>\n<pre><code>composer require laravel\/sanctum<\/code><\/pre>\n<p>P\u00e4rast seda avaldage Sanctumi konfiguratsiooni- ja migreerimisfailid, k\u00e4ivitades alloleva k\u00e4su.<\/p>\n<pre><code>php artisan vendor:publish --provider=\"LaravelSanctumSanctumServiceProvider\"<\/code><\/pre>\n<p>J\u00e4rgmisena k\u00e4ivitage migratsiooni k\u00e4sk, mis loob <code>personal_access_tokens<\/code>teie andmebaasi tabeli. See on tabel, kuhu k\u00f5ik API-m\u00e4rgid salvestatakse.<\/p>\n<pre><code>php artisan migrate<\/code><\/pre>\n<p>Vaikimisi n\u00f5uab iga Laraveli taotlus csrf-m\u00e4rki. Selle csrf-m\u00e4rgi puudumisel ei j\u00e4tka Laravel teie taotlust. Kui r\u00e4\u00e4kida Sanctumi abil API-m\u00e4rkide genereerimisest, peame csrf-m\u00e4rgi saatmise vahele j\u00e4tma. Selleks lisage muutujale <code>sanctum\/token<\/code>marsruut. Selle marsruudi koostan j\u00e4rgmistes sammudes.<code>$except``app\/Http\/Middleware\/VerifyCsrfToken.php``sanctum\/token<\/code><\/p>\n<pre><code>&lt;?php\n...\nclass VerifyCsrfToken extends Middleware\n{\n\u00a0\u00a0\u00a0\u00a0\/**\n\u00a0\u00a0\u00a0\u00a0\u00a0* The URIs that should be excluded from CSRF verification.\n\u00a0\u00a0\u00a0\u00a0\u00a0*\n\u00a0\u00a0\u00a0\u00a0\u00a0* @var array\n\u00a0\u00a0\u00a0\u00a0\u00a0*\/\n\u00a0\u00a0\u00a0\u00a0protected $except = [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'sanctum\/token'\n\u00a0\u00a0\u00a0\u00a0];\n}<\/code><\/pre>\n<p>Autentimise eesm\u00e4rgil peame kasutajatele v\u00e4ljastama m\u00e4rgi. Niisiis, peate kasutama kasutajamudeli <code>HasApiTokens<\/code>omadust j\u00e4rgmiselt.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppModels;\n...\nuse LaravelSanctumHasApiTokens;\n\u00a0\nclass User extends Authenticatable\n{\n\u00a0\u00a0\u00a0\u00a0use HasApiTokens, HasFactory, Notifiable;\n\u00a0\u00a0\u00a0\u00a0...\n}<\/code><\/pre>\n<h3>API-m\u00e4rkide v\u00e4ljastamine autentimiseks<\/h3>\n<p>Igas taotluses koos autoriseerimise p\u00e4isega kandja loa saatmiseks peab see esmalt v\u00e4lja andma API loa. Kavatsen luua meetodi, mis genereerib igale kasutajale API loa. Loa v\u00e4ljastamiseks peate saatma kasutaja e-posti aadressi, parooli ja seadme.<\/p>\n<p>Lisage allolev marsruut <code>routes\/web.php<\/code><\/p>\n<pre><code>Route::post('\/sanctum\/token', 'APITokenController@create_token');<\/code><\/pre>\n<p>J\u00e4rgmisena looge kontroller <code>APITokenController<\/code>k\u00e4suga:<\/p>\n<pre><code>php artisan make:controller APITokenController<\/code><\/pre>\n<p>M\u00e4\u00e4ratlege <code>create_token()<\/code>meetod vastloodud kontrolleris j\u00e4rgmiselt.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse AppModelsUser;\nuse IlluminateHttpRequest;\nuse IlluminateSupportFacadesHash;\nuse IlluminateValidationValidationException;\n\u00a0\nclass APITokenController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0public function create_token(Request $request)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$request-&gt;validate([\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'email' =&gt; 'required|email',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'password' =&gt; 'required',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'device_name' =&gt; 'required',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$user = User::where('email', $request-&gt;input('email'))-&gt;first();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (! $user ||! Hash::check($request-&gt;input('password'), $user-&gt;password)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'error' =&gt; 'The provided credentials are incorrect.'\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return $user-&gt;createToken($request-&gt;input('device_name'))-&gt;plainTextToken;\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>\u00dclaltoodud kood kontrollib k\u00f5igepealt kasutaja mandaate. Kui mandaadid on \u00f5iged, saadab see vastuseks m\u00e4rgi lihttekstivormingus. Siin saan sisendv\u00e4\u00e4rtusi, arvestades, et need saadetakse JSON-i objektina.<\/p>\n<p>Proovige saata POST-taotlus koos kasutaja mandaatidega ja peaksite saama lihtteksti m\u00e4rgi. Seda API-m\u00e4rgist v\u00f5idakse salvestada mobiilseadmesse ja kasutada p\u00e4ises API-taotluste saatmise ajal.<\/p>\n<p>Minu puhul kasutan <a href=\"https:\/\/themewp.inform.click\/et\/rest-visual-studio-koodi-kliendilaiend\/\" title=\"VS-koodi Rest Client laiendust\">VS-koodi Rest Client laiendust<\/a> ja minu taotlus <code>sanctum\/token<\/code>on selline, nagu allpool ekraanipildil n\u00e4idatud.<\/p>\n<p>Minge andmebaasi ja peaksite n\u00e4gema, et teie m\u00e4rk on <code>personal_access_tokens<\/code>tabelisse salvestatud .<\/p>\n<p>Sanctum loob mitu m\u00e4rki alati, kui j\u00f5uate <code>sanctum\/token<\/code>marsruudile \u00f5igete mandaatidega. Kui soovite eelmise loa t\u00fchistada, siis lisage allpool olev lause enne \u00fclaltoodud koodi viimast tagasilauset.<\/p>\n<pre><code>\/\/ Revoke previous tokens...\n$user-&gt;tokens()-&gt;delete();\n\u00a0\nreturn $user-&gt;createToken($request-&gt;input('device_name'))-&gt;plainTextToken;<\/code><\/pre>\n<p>L\u00f5puks kaitske marsruute, lisades <code>auth:sanctum<\/code>vahevara j\u00e4rgmiselt.<\/p>\n<pre><code>Route::middleware('auth:sanctum')-&gt;get('\/products', function() {\n\u00a0\u00a0\u00a0\u00a0\/\/ write a code\n});<\/code><\/pre>\n<p>Vahevara kontrollib, kas luba saadakse loa p\u00e4ises. Kui API-luba on \u00f5ige, lubab marsruudi j\u00e4tkamist ainult see.<\/p>\n<p>N\u00e4iteks v\u00f5ite VS-koodis saata API-loa kandja m\u00e4rgina koos p\u00e4isega Authorization, nagu allpool n\u00e4idatud.<\/p>\n<p>Loodan, et saate aru, kuidas integreerida mobiilirakenduste autentimine Laraveli m\u00e4rgi abil. Tahaksin kuulda teie m\u00f5tteid ja ettepanekuid allpool olevas kommentaaride jaotises.<\/p>\n<h4>seotud artiklid<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/kuidas-luua-laraveli-abil-blogi\/\" title=\"Kuidas luua Laraveli abil blogi\">Kuidas luua Laraveli abil blogi<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/juhend-google-recaptcha-v3-lisamiseks-oma-laraveli-veebisaidile\/\" title=\"Juhend Google reCAPTCHA v3 lisamiseks teie Laraveli veebisaidile\">Juhend Google reCAPTCHA v3 lisamiseks teie Laraveli veebisaidile<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/et\/kuidas-videot-youtube-i-ules-laadida-laraveli-rakenduses\/\" title=\"Kuidas videot YouTube&#039;i \u00fcles laadida Laraveli rakenduses\">Kuidas videot YouTube&#8217;i \u00fcles laadida Laraveli rakenduses<\/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>Selles \u00f5petuses uurime, kuidas integreerida mobiilirakenduste autentimine, kasutades taustaprogrammina Laraveli. Laraveli p\u00fchamu on pakett, mis<\/p>\n","protected":false},"author":1,"featured_media":21639,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[498],"tags":[842],"class_list":["post-26031","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-5","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/26031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/comments?post=26031"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/posts\/26031\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media\/21639"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/media?parent=26031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/categories?post=26031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/et\/wp-json\/wp\/v2\/tags?post=26031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}