如何使用 `Laravel Passport` 获取 `Android` 应用程序的客户端 ID 和客户端密码
How to get client id and client secret for `Android` application using `Laravel Passport`
如何在首次登录应用程序后使用 Laravel-passport
获取 Android
应用程序的客户端 ID 和客户端密码?
Okay.Suppose 您已经在您的应用程序中成功安装了 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
现在测试是否要测试它 open postman 或 ARC(Advance Rest Client)
http://127.0.0.1:8000/oauth/token --POST Request
现在在 Json 正文中添加以下字段:
{
"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 和秘密,你需要为此编写 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
如何在首次登录应用程序后使用 Laravel-passport
获取 Android
应用程序的客户端 ID 和客户端密码?
Okay.Suppose 您已经在您的应用程序中成功安装了 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 现在测试是否要测试它 open postman 或 ARC(Advance Rest Client)
http://127.0.0.1:8000/oauth/token --POST Request
现在在 Json 正文中添加以下字段:
{
"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 和秘密,你需要为此编写 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