如何使用 Laravel 护照令牌系统
How to Use Laravel Passport Token System
我打算为 ANGULAR 6 API 使用 Laravel 护照系统。按照文档安装。
但我有点困惑。请尝试解决。
1.如何提供令牌?
这是正确的方法吗?
或
编码 LIKE 是正确的方法 ?:
$request->request->add([
'username' => $request->email,
'grant_type' => 'password',
'client_id' => env('PASSWORD_CLIENT_ID'),
'client_secret' => env('PASSWORD_CLIENT_SECRET'),
'scope' => '',
]);
// forward the request to the OAuth token request endpoint and Return Token
$res = Route::dispatch(request()->create('oauth/token', 'POST', $this->loginCredentials($request)));
$this->api_response = json_decode($res->getContent());
return response()->json(['token' => $this->api_response,'usersDetail' => $user], 200);
需要使用哪种方法,为什么请详细说明。?
2。如何处理 Angular?
的刷新令牌系统
点赞在刷新(鼠标键刷新)需要调用LaravelAPI?应该如何?请详细说明 Laravel 和 Angular 代码。
请详细回答这个问题。寻找好的答案!!!
How to provide a token ?
This is the Correct Method?
OR Coding LIKE is correct Method ?
它使用不同的赠款。正确的方法是根据您的应用需求。在实施 OAuth 之前,您需要了解授权类型:
授权码授予
如果您曾经使用 Facebook 或 Google 帐户登录过应用程序,那么授权码授予应该非常熟悉。
隐式授权
隐式授予类似于授权码授予,但有两个明显的区别。
它旨在用于无法保密的 user-agent-based 客户端(例如单页 Web 应用程序),因为所有应用程序代码和存储都可以轻松访问。
其次,不是授权服务器返回用于交换访问令牌的授权代码,而是授权服务器 returns 访问令牌
资源所有者凭据授予
对于 Web 和本机设备应用程序中受信任的第一方客户来说,这项资助是一种很好的用户体验。
客户端凭据授予
所有 OAuth 2.0 授权中最简单的一种,此授权适用于 machine-to-machine 不需要特定用户访问数据的权限的身份验证。
刷新令牌授予
访问令牌最终会过期;然而,一些授权以刷新令牌响应,使客户端无需重定向用户即可获得新的访问令牌。
我应该使用哪种 OAuth 2.0 授权?
授权是一种获取访问令牌的方法。决定实施哪些授权取决于最终用户将使用的客户端类型,以及您希望为用户提供的体验。
How to handle Refresh Token System for Angular?
访问令牌最终会过期;客户端向 /oauth/token
:
发送带有以下正文参数的 POST 请求
grant_type
值为 refresh_token
refresh_token
刷新令牌
client_id
客户ID
client_secret
与客户的秘密
scope
和 space-delimited 请求范围权限列表。 这是可选的;如果未发送,将使用原始范围,否则您可以请求缩小的范围集.
$http = new GuzzleHttp\Client;
$response = $http->post('http://your-app.com/oauth/token', [
'form_params' => [
'grant_type' => 'refresh_token',
'refresh_token' => 'the-refresh-token',
'client_id' => 'client-id',
'client_secret' => 'client-secret',
'scope' => '',
],
]);
return json_decode((string) $response->getBody(), true);
或者您可以使用 Angular HTTPInterceptor
来刷新令牌。 HTTP 拦截器用于为日志记录、修改响应、错误处理添加自定义逻辑,但一种常见情况是自动将身份验证信息附加到请求并刷新令牌以保持用户会话处于活动状态。
参考:
我打算为 ANGULAR 6 API 使用 Laravel 护照系统。按照文档安装。
但我有点困惑。请尝试解决。
1.如何提供令牌?
这是正确的方法吗?
或 编码 LIKE 是正确的方法 ?:
$request->request->add([
'username' => $request->email,
'grant_type' => 'password',
'client_id' => env('PASSWORD_CLIENT_ID'),
'client_secret' => env('PASSWORD_CLIENT_SECRET'),
'scope' => '',
]);
// forward the request to the OAuth token request endpoint and Return Token
$res = Route::dispatch(request()->create('oauth/token', 'POST', $this->loginCredentials($request)));
$this->api_response = json_decode($res->getContent());
return response()->json(['token' => $this->api_response,'usersDetail' => $user], 200);
需要使用哪种方法,为什么请详细说明。?
2。如何处理 Angular?
的刷新令牌系统点赞在刷新(鼠标键刷新)需要调用LaravelAPI?应该如何?请详细说明 Laravel 和 Angular 代码。
请详细回答这个问题。寻找好的答案!!!
How to provide a token ? This is the Correct Method? OR Coding LIKE is correct Method ?
它使用不同的赠款。正确的方法是根据您的应用需求。在实施 OAuth 之前,您需要了解授权类型:
授权码授予
如果您曾经使用 Facebook 或 Google 帐户登录过应用程序,那么授权码授予应该非常熟悉。
隐式授权
隐式授予类似于授权码授予,但有两个明显的区别。
它旨在用于无法保密的 user-agent-based 客户端(例如单页 Web 应用程序),因为所有应用程序代码和存储都可以轻松访问。
其次,不是授权服务器返回用于交换访问令牌的授权代码,而是授权服务器 returns 访问令牌
资源所有者凭据授予
对于 Web 和本机设备应用程序中受信任的第一方客户来说,这项资助是一种很好的用户体验。
客户端凭据授予
所有 OAuth 2.0 授权中最简单的一种,此授权适用于 machine-to-machine 不需要特定用户访问数据的权限的身份验证。
刷新令牌授予
访问令牌最终会过期;然而,一些授权以刷新令牌响应,使客户端无需重定向用户即可获得新的访问令牌。
我应该使用哪种 OAuth 2.0 授权?
授权是一种获取访问令牌的方法。决定实施哪些授权取决于最终用户将使用的客户端类型,以及您希望为用户提供的体验。
How to handle Refresh Token System for Angular?
访问令牌最终会过期;客户端向 /oauth/token
:
grant_type
值为refresh_token
refresh_token
刷新令牌client_id
客户IDclient_secret
与客户的秘密scope
和 space-delimited 请求范围权限列表。 这是可选的;如果未发送,将使用原始范围,否则您可以请求缩小的范围集.
$http = new GuzzleHttp\Client;
$response = $http->post('http://your-app.com/oauth/token', [
'form_params' => [
'grant_type' => 'refresh_token',
'refresh_token' => 'the-refresh-token',
'client_id' => 'client-id',
'client_secret' => 'client-secret',
'scope' => '',
],
]);
return json_decode((string) $response->getBody(), true);
或者您可以使用 Angular HTTPInterceptor
来刷新令牌。 HTTP 拦截器用于为日志记录、修改响应、错误处理添加自定义逻辑,但一种常见情况是自动将身份验证信息附加到请求并刷新令牌以保持用户会话处于活动状态。
参考: