首次登录应用程序后,如何使用Android
获取Laravel-passport
应用程序的客户端ID和客户端密码?
答案 0 :(得分:1)
好的。假设您已经在应用程序中成功安装了laravel通行证软件包,并且还已经完成了迁移,现在您必须在项目中运行以下命令:
php artisan passport:install
您将得到以下结果:
Personal access client created successfully.
Client ID: 1
Client Secret: ISm7iWZXIqF9a0Hv0ciMK3LHeJcNoQZv5dIlScfRa
Password grant client created successfully.
Client ID: 2
Client Secret: oljCiGWT50uyekGPSCOBGyqmC0mzXe5BHabVayjOa
您要验证用户身份,因此需要密码grant_client 现在测试是否要测试它打开邮递员或ARC(Advance Rest Client)
http://127.0.0.1:8000/oauth/token --POST Request
现在,在Json Body中添加以下字段:
{
"grant_type": "password",
"client_id": 2,
"client_secret": "oljCiGWT50uyekGPSCOBGyqmC0mzXe5BHabVayjOa",
"username": "user@email.com",
"password": "userpassword"
}
现在发送请求,如果请求成功,您将得到如下结果:
{
"token_type": "Bearer",
"expires_in": 31536000,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImU2ZDIxZTA5MzdkZTdmNWZkMGY0NGU4YmNmMDFjNzdmZjEwMmViYjgwYTdjYjk0N2NkZTI4N2MzNjYyZThmNjMwYWJjNWJmNDYwOTM3ZDM2In0.eyJhdWQiOiIyIiwianRpIjoiZTZkMjFlMDkzN2RlN2Y1ZmQwZjQ0ZThiY2YwMWM3N2ZmMTAyZWJiODBhN2NiOTQ3Y2RlMjg3YzM2NjJlOGY2MzBhYmM1YmY0NjA5MzdkMzYiLCJpYXQiOjE1MzE3NDUwMzYsIm5iZiI6MTUzMTc0NTAzNiwiZXhwIjoxNTYzMjgxMDM2LCJzdWIiOiIxIiwic2NvcGVzIjpbXX0.Mx6UWy37zXWSmNLybXbblXdemAji3jpzkY7DPnlZa_EIBWYeB3VJpbbsPAg4oOCi-VH3K9AOkZ4V7Ft5ka6ZBTiVPx45jBfCmRPZ99UjrwEo_wXqbJ1cPOHMT5tn4EtAe54n37VEl4O1ZE3RzVVRK6H15Wh9LdjNX0D5ymIlXtWq7tIvuhwZ7ym4zFUCHpGGeXQ2XCka1q7YioigWnQJDhNXnSjBUQwDEYEkc2TbB96SAcnPdzyUsuNqvDjtJhtUQJ013om5RND4m_kvCNERdG6uFrPSAipO_sVj0POPuksxHcQIFbpos7p72sneyNv16AdH433nKlpLIR-FNGcO2JEsCC02dOOEarqkncp3SzA7Yv73i2Pq31iDhvH8WLzNqeeS44862fXJ4JINu1IAU0apuz09uc78lxZKIyA_McZKLvd5dWniU5g8XDGGcqwMWeCSCprIyOOTiWUkVXolX1Asf1iySn69Br39DTr6cU0ShrkEfVK2Km8KavQmonbIJtpICywjBtJawPlEgSCyRTKS5YRjGjGtV1w9YFLNId2brqfOBxxGXC_bonvlJBLeL-MwcWj6uI-yDJ6c622_83pPjgDJt1QpN4CNMPGOhFpk9uBd-JNLbvCuL1s7Txzs7EqYi1HniBnM_-Q_KQovh7LZEockYrFhj3VxZhI3ElI",
"refresh_token": "def502005e028ce32e2f56c960108d679588e967f549840de2805145431c5d617d811e28807838f52a4f6ca7d0c0e393def12d42e0ee7769b07a2c0bbab3c73b2f606df2640d8833dc4b1bf4d126976d0d4bc1aa9115adc3ad83fd89db99541f76782cae43de75c6dcdcc72f9f87f025b736b7c949de8c42c0c16c40ab1916e24a3b960d72576427f0f27a4229f0f4a25cf3dafa58106e58f3e4a9a6d5b1124a0e0e121eac87580a50fbe4fd8652a894ae54b8f4a1da709e0349e50c1439eed8d19733b42cbab1a37b1188b42666a2c1dce75de8b1fac53af82960e7b12fae6309c80555061292a797cb0b3cd51d7ca897e9347953c805114c64eb2151a39b6f704ece816258fb1c9cf28f3526b5ac244966ac85f580909b8c130d16c041e2dbf6d7c62a2487cb53743e5750cebaeb66be26fa3200d306ddb89169e2e6cc2a20e0df6b774a896a365c5c3dc2dfb2122c5dba9c378218025afb94be5e5c3a076645"
}
好吧,现在解析此json并获取令牌,您就可以开始了。 如果要动态获取client_id和secret,则需要为此编写Api。这是该函数的简单示例:
use Illuminate\Support\Facades\DB;
use Symfony\Component\HttpFoundation\Response;
public function get_secret_key()
{
$data = DB::table('oauth_clients')->get();
return response([
$data
],Response::HTTP_OK);
}
如果只想获取client_secret,请使用以下代码:
use Illuminate\Support\Facades\DB;
use Symfony\Component\HttpFoundation\Response;
public function get_secret_key()
{
$client = DB::table('oauth_clients')
->where('id','=',2)
->value('secret');
return response([
'data' => $client
],Response::HTTP_OK);
}
要了解有关laravel护照认证的更多信息,请访问Laravel passport