简体   繁体   English

使用Laravel Auth组件和AngularJS登录Laravel 5.2

[英]Laravel 5.2 login with Laravel Auth Component and AngularJS

I want to develop login functionality with Auth component of laravel and angularJS. 我想使用laravel和angularJS的Auth组件开发登录功能。 Laravel's Auth component handles all the requirement of login system. Laravel的Auth组件可以处理登录系统的所有需求。 ie Store login session, redirect to dashboard or requested page if user is already logged in, redirect to login page if user is not logged in, authenticate http request using csrf token etc. Now, I want to develop these all functionality using Auth component of laravel and AngularJS. 存储登录会话,如果用户已经登录,则重定向到仪表板或请求的页面,如果用户尚未登录,则重定向到登录页面,使用csrf令牌等对HTTP请求进行身份验证 。现在,我想使用的Auth组件开发所有这些功能laravel和AngularJS。 So I don't know that if I developed login functionality with angularJS, will laravel still handle all functionality as mentioned above ? 因此,我不知道如果我使用angularJS开发了登录功能,laravel 是否仍会处理上述所有功能 I have doubt because articles on internet tells that I can do it using token based authentication. 我有疑问,因为互联网上的文章告诉我可以使用基于令牌的身份验证来做到这一点。 If I do token based login using angular? 如果我使用angular进行基于令牌的登录? Then how I can handle redirection to login for not logged in users, redirection to previous requested page for logged in users, authentication every http request etc. If anyone can explain with some demo or link , it will be appreciated. 然后,我将如何处理未登录用户的登录重定向,已登录用户的重定向到先前请求的页面,对每个http请求进行身份验证等。如果有人可以通过一些演示或链接进行解释,将不胜感激。

I have refereed some links. 我已经参考了一些链接。 But I can't get that how to maintain other functionalities like redirection of page, authenticate request etc. Here are links. 但是我不知道如何维护其他功能,例如页面重定向,身份验证请求等。这是链接。

  1. http://justinvoelkel.me/laravel-angularjs-part-two-login-and-authentication/ http://justinvoelkel.me/laravel-angularjs-part-two-login-and-authentication/
  2. http://ryanchenkie.com/token-based-authentication-for-angularjs-and-laravel-apps/ http://ryanchenkie.com/token-based-authentication-for-angularjs-and-laravel-apps/

To check if a user is logged, just check his token though a middleware, there is a JWT package for Laravel which makes it really easy to use. 要检查用户是否已登录,只需通过中间件检查其令牌即可,其中有一个Laravel的JWT软件包,它非常易于使用。

To handle login: 处理登录:

AngularJS send a request to your Laravel API. AngularJS向您的Laravel API发送请求。 Larevel check if everything is ok for login: Larevel检查是否可以正常登录:

  • If everything is ok, Laravel should return the token 如果一切正常,Laravel应该返回令牌
  • If not return an error (HTTP codes) and handle it in Angular 如果没有返回错误(HTTP代码)并在Angular中处理

If something isn't clear or if you need more information feel free to ask 如果不清楚,或者您需要更多信息,请随时询问

laravel Auth provide every functionality that you have listed above. laravel Auth提供您上面列出的所有功能。

Login:
$condition = array('email' => $emailId, 'password' => $password);
if(Auth::attempt($condition, $remember))
{
    // successful login
}
else
{
    // redirect to login page
    return redirect()->to('/signup');
}


CSRF Token
Route::get('/',[
    'middleware'=>'auth',       // middleware auth checks for csrf token on every routing done through routes.php
    'uses'=>'HomeController@function'
]);

etc 等等

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM