Angularjs 如何通过身份验证访问laravel API
为了学习API和AngularJS,我想我可以使用laravel(我以前从未使用过)和AngularJS作为前端创建一个博客的后端。我想要的后端是一个restful API,允许在未经身份验证的情况下阅读日志,如果经过身份验证,则可以使用CRUD 1/我已经能够使用我的表设置我的数据库:Angularjs 如何通过身份验证访问laravel API,angularjs,authentication,laravel,Angularjs,Authentication,Laravel,为了学习API和AngularJS,我想我可以使用laravel(我以前从未使用过)和AngularJS作为前端创建一个博客的后端。我想要的后端是一个restful API,允许在未经身份验证的情况下阅读日志,如果经过身份验证,则可以使用CRUD 1/我已经能够使用我的表设置我的数据库: USER PAGES POSTS CATEGORIES ---- ---- ---- ---- id id id id name
USER PAGES POSTS CATEGORIES
---- ---- ---- ----
id id id id
name name name name
password content content
mail category
role author
createdAt
updatedAt
2/控制器、型号和路线看起来不错:
UserController.php:
<?php
class UserController extends \BaseController {
public function index($id = null) {}
public function store($id = null) {}
public function update($id) {}
public function destroy($id) {}
}
use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
class User extends Eloquent implements UserInterface, RemindableInterface {
use UserTrait, RemindableTrait;
public $timestamps = false;
protected $table = 'users';
protected $hidden = array('password', 'remember_token');
public function posts() {
return $this->has_many('Post');
}
}
routes.php:
[...]
Route::get('/authtest', array('before' => 'auth.basic', function() {
return View::make('hello');
}));
Route::post('User', [
'as' => 'User/store',
'uses' => 'UserController@index']);
Route::get('User', [
'as' => 'User/index',
'uses' => 'UserController@store']);
Route::get('User/{id}', [
'as' => 'User/index',
'uses' => 'UserController@store']);
Route::put('User', [
'as' => 'User/update',
'uses' => 'UserController@update']);
Route::delete('User/{id}', [
'as' => 'User/destroy',
'uses' => 'UserController@destroy']);
[...]
问题是:
假设我想以admin:admin身份登录到API以添加帖子。我该怎么做?
用户如何向我的API发送凭据?
使用curl,我可以键入:
curl--user-user:password testserver/authtest
,它与auth.basic
路由参数一起工作。但是我如何在JS或其他语言中做到这一点?我如何存储这些信息,以便用户不必每次都发送密码?这里有一个链接,指向使用Angular发送基本身份验证的实现:
至于用户名和密码,您可以尝试将它们存储在加密的cookie中——尽管我真的不建议这样做。我宁愿使用API键
以下是我在Laravel制作的一个库,用于使用API键,目前正在多个Angular项目中实现: