Mendapatkan Client ID Dari User Laravel Passport
Tags:
Web Development
Ketika menyimpan data transaksional pada database terkadang kita perlu menyimpan juga data client yang digunakan user untuk menyimpan data. Laravel Passport1 sayangnya tidak menyertakan atribute client id pada Authenticated user. Untuk mendapatkan client id dari user dapat menggunakan cara berikut:
<?php
use Illuminate\Support\Facades\DB;
use Lcobucci\JWT\Parser as JwtParser;
use League\OAuth2\Server\ResourceServer;
use Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory;
...
$token_id = with(new JwtParser)
->parse($request->bearerToken())
->getHeader('jti');
$row = DB::table('oauth_access_tokens')
->select('client_id')
->where('id', $token_id)
->get()
->first();
$client_id = $row->client_id;