加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 我应该如何确保用户访问后端呈现的前端路由已经过

发布时间:2020-12-17 06:53:16 所属栏目:安全 来源:网络整理
导读:我正在使用Laravel和Angular编写一个Web应用程序. 在前端,Laravel用于创建基本模板,但由Angular控制.在后端,laravel用于创建一个宁静的API. 我有几条这样的路线: Route::group(['domain' = 'domain.com'],function() { Route::get('/',['as' = 'home',funct
我正在使用Laravel和Angular编写一个Web应用程序.

在前端,Laravel用于创建基本模板,但由Angular控制.在后端,laravel用于创建一个宁静的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网址.

在我的后端,我为我的API路由实现了OAuth,这确保访问这些路由的用户是真实的. OAuth库使用Laravel的Auth :: once()来确保用户凭据正确,然后生成access_token.由于Auth :: once()是一个“无状态”函数,因此不使用会话或cookie,我不能使用Auth :: check()来确保在呈现仪表板页面之前对用户进行身份验证.

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

编辑:根据这个:Adding http headers to window.location.href in Angular app我无法使用Authorization标头将用户转发到仪表板页面.

为了重用我的移动应用程序的API,我强烈希望使用某种基于令牌的身份验证.

解决方法

我建议使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读