gpt4 book ai didi

angularjs - 我应该如何确保访问后端呈现的前端路由的用户经过身份验证?

转载 作者:行者123 更新时间:2023-12-04 17:08:15 24 4
gpt4 key购买 nike

我正在使用 Laravel 和 Angular 编写一个网络应用程序。

在前端,Laravel 用于创建基本模板,但在其他方面由 Angular 控制。在后端,laravel 用于创建一个 Restful API。

我有几条这样的路线:

Route::group(['domain' => 'domain.com'], function() {

Route::get('/', ['as' => 'home', function () {
return view('homepage');
}]);

Route::get('/login', ['as' => 'login', function () {
return view('login');
}]);

//users should be authenticated before accessing this page
Route::get('/dashboard', ['as' => 'dashboard', function () {
return view('dashboard');
}]);

});

Route::group(['domain' => 'api.domain.com', 'middleware' => ['oauth']], function() {
Route::post('/post/create', ['uses' => 'PostController@store']);
Route::get('/post/{id}', ['uses' => 'PostController@show']);

//other API endpoints
// ...
});

我想确保我的 domain.com/dashboard URL 只能由经过身份验证的用户访问。

在我的后端,我有 OAuth为我的 API 路由实现,确保访问这些路由的用户是真实的。 Laravel 的 Auth::once() OAuth 库使用它来确保用户凭据正确,然后生成 access_token .自 Auth::once()是“无状态”功能,不使用 session 或 cookie,我无法使用 Auth::check()确保在呈现仪表板页面之前对用户进行身份验证。

我应该如何检查用户是否尝试访问 domain.com/dashboard已认证?我应该发送 access_token当我从 /login 转发用户时在标题中至 /dashboard ?或者我应该实现 Laravel 的基于 session /cookie 的身份验证?

编辑:按此: Adding http headers to window.location.href in Angular app我无法使用 Authorization 将用户转发到仪表板页面标题。

为了将我的 API 重用于我的移动应用程序,我非常喜欢使用某种基于 token 的身份验证。

最佳答案

我建议使用 JWT ( JSON Web Tokens ) 来控制身份验证。

我认为有几个教程可以与 Lavarel 一起使用。和 AngularJS .我更喜欢 Python我使用 Flask ,但以下看起来很有趣:

  • Simple AngularJS Authentication with JWT : AngularJS配置
  • Token-Based Authentication for AngularJS and Laravel Apps : 与Laravel的联系
  • JSON Web Token Tutorial: An Example in Laravel and AngularJS
  • 关于angularjs - 我应该如何确保访问后端呈现的前端路由的用户经过身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35906323/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com