Laravel 5.4 Passport Eklentisi

08-07-2017

Password Grant Token

Kullanıcılara API aracılığı ile giriş yapılmasını sağlar.

php artisan password:client --password komutu çağrıldığı zaman oauth_clients tablosuna aşağıdaki gibi bir satır eklenir:
id user_id name secret redirect personel_access_client password_client revoked created_at updated_at
1 null mobil PsgprbVQ12UPmjLhxEde23iChJA9CglneuhMpRB8 localhost 0 1 0 2017-07-08 11:34:53 2017-07-08 11:34:53

Bu işlemden sonra kullanıcı API aracılığı ile giriş yapmak istediği zaman önce access_token ve refresh_token bilgilerini aşağıdaki gibi sunucuya istek gönderek alması gerekmektedir:

$http = new GuzzleHttp\Client;

$response = $http->post('http://your-app.com/oauth/token', [
    'form_params' => [
        'grant_type' => 'password',
        'client_id' => 'client-id',
        'client_secret' => 'client-secret',
        'username' => 'taylor@laravel.com',
        'password' => 'my-password',
        'scope' => '',
    ],
]);

return json_decode((string) $response->getBody(), true);

Dönen örnek sonuç:

{
    "token_type": "Bearer",
    "expires_in": 1296000,
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjUwZmQ3NmI0ZGVjYmY1YjBlYWYzNWE5MWNjMWE3NTdjYWJjMzMzNjEwYTM3ZWZiYmMyNTgxNTQyMGU3YzI4OWVkMDM0ODMyM2FkNGE3MTk0In0.eyJhdWQiOiI3IiwianRpIjoiNTBmZDc2YjRkZWNiZjViMGVhZjM1YTkxY2MxYTc1N2NhYmMzMzM2MTBhMzdlZmJiYzI1ODE1NDIwZTdjMjg5ZWQwMzQ4MzIzYWQ0YTcxOTQiLCJpYXQiOjE0OTk1MTM3ODEsIm5iZiI6MTQ5OTUxMzc4MSwiZXhwIjoxNTAwODA5NzgxLCJzdWIiOiIyIiwic2NvcGVzIjpbXX0.v3Vk6pd-tri4gBfWYN56xaDeBAJnJUYqwHFetdSeRNcoM9-F1jcjrbNdcaqo5cSyDlt9uDfeUu3VdYyyKXNs9FV0er90AF4VGiQwjaU-YpYaFyDpJz-ETwoiF77VEvkuZuEdolrb9xwySbe_-sljojsAiY9QX5yuXD2dXBNS57LpwlxID93Il29scmjBG_dr9xfrQddIXMpfoSI3Nl2mVscadNFhcibnSZXp81GWiXzZQsgaivRQMaTBO34dW3ND1nswN8CLVWVi5rc0YF9gQeLkSwkvw7wWTgDqorp9XGvkojU6HhhlSn1yvNJtB0ewFFj0pG5nAXs5BOq5g4MqzbNWMzWsFK7UCiLCS63tUU4l_2CBWMEmT-MEj-1cA1JM8XKrejL1I8yn6dQaNe_3MNe5JjssW6rVtfCEn1tgjtY6akCjHymzcKV04TQmVnVHm6_WNUTe9HlZEcb3TA7GwRvq5SWxRrYQlALLu1spIOnVfEd8mrGcVyGfmp0frWoluxKNkeVqcjLguV1KTd6jSZ3WJQVQUqZNHRWcWXSdQ2PvBQkodtp5AE1tR3_Qe3iw24_FqZ2lAI32clnRS7rEO53PXcFqZubbrTCxm33T8MIzztcxVBdoEPyvCf6-Espyhno1BS_pktQFdtApJasuV4GV-rq2zCQ7DhzFT8kce8g",
    "refresh_token": "LhbuM/FQLKeEDWywI2V8r9RTINPSek86TnneDNu9E/M/fMz7VSqXKsL8AaiYJTa48/K/m0hog1+CbgNAqGYQ/ALaHXpv/sZ/YYOBwx/4k8rC8JC67FbxdJYriPtRFxOLCK2wj0P4fZhUvNDx6rYjOyR7lxe3hTj/u14IDGq3MSPpcITj9WssNRxTOD3CjK20za2uostcOAr6bsphh0Yj6k56DZ+oWuEluFajzVQ3lcIYgWuRpCr4mLH5xXdkTkNP6sgvIDwfuX1M3rD3EqAW2Uk+0IH6YQsePSx1c3gmB3LAyljqM2fXul4aLDer2qQ3oieTNQJJdP4qNrg6lTp8D8PoHD6QJV04G+qaJAxe4QFknFLHCO9zrtsPxOdrPt3sg/zscFY5TDHC5fe5CZC3DsmkGFwIV3LWgeZS+xDPcD/G+9Uk79cEwyEBDQt8L30epI18C5+C8g/rLddOTlBbzuc3qHoYwc4VhA/RM9sM45dku5Jquhezqx7zWsoa/ZuAB/aaNfkTzj5jIpg5nlX1Putb8Fy527UCtRsQb8nO6p0ppukTq1oh3gVTJDzyTD0hcXLGh3K9PQgzaeobRxn6VajgHRewCFVt3Q6LSiFlK8DSpkjJpndpSKfAMmBdYNXGf6cHEiU+b6J8u/tMiJkPUVBe21rvF9+rDdb8ZOM="
}

Not: 'scope' => '*' şeklinde kullanıldığı zaman tüm scope'lara erişim izni verilmiş olur.

© 2019 Tüm Hakları Saklıdır. Codesenior.COM