[ laravel 5.4 文档 ] 安全 — api认证(passport)

[ laravel 5.4 文档 ] 安全 — api认证(passport)_php_web-itnose

首页
asp
php
javascript
iis
apache
html/css
coldfusion
ajax
vbscript
cgi
xml/xsl
跨浏览器开发
ruby/rails
程序员
html5
jquery
seo
jboss
json
angularjs
markdown
nginx
thinkphp
yii
pageadmin
extjs
wampserver
kendo ui
coffeescript
gulp
ecmascript
bootstrap

itnose首页 > web > php >

[ laravel 5.4 文档 ] 安全 — api认证(passport)

2017-02-20 12:55

1、简介

laravel 通过传统的登录表单已经让用户认证变得很简单,但是api 怎么办?api 通常使用token进行认证并且在请求之间不维护 session 状态。laravel 使用 laravelpassport 让api 认证变得轻而易举,passport 基于 alex bilbie 维护的 league oauth2 server
,可以在数分钟内为laravel应用提供完整的oauth2 服务器实现。

注:本文档假设你已经很熟悉 oauth2,如果你对 oauth2 一无所知,那么在开始学习本文档之前,先要去熟悉oauth2的一些术语和特性(参考阮一峰博客: 理解oauth 2.0
)。

2、安装

使用 composer 包管理器安装 passport:

composer require laravel/passport

接下来,在配置文件 config/app.php
的 providers
数组中注册 passport 服务提供者:

laravel\passport\passportserviceprovider::class,

passport 服务提供着为框架注册了自己的数据库迁移目录,所以在注册之后需要迁移数据库,passport 迁移将会为应用生成用于存放客户端和访问令牌的数据表:

php artisan migrate

注:如果你不准备使用 passport 默认的迁移,需要在 appserviceprovider
的 register
方法中调用 passport::ignoremigrations
方法。你可以使用 php artisan vendor:publish –tag=passport-migrations
导出默认迁移。

接下来,需要运行 passport:install
命令,该命令将会创建生成安全访问令牌(token)所需的加密键,此外,该命令还会创建“personal access”和“password grant”客户端用于生成访问令牌:

php artisan passport:install

运行完这个命令后,添加 laravel\passport\hasapitokens
trait到 app\user
模型,该trait将会为模型类提供一些辅助函数用于检查认证用户的token和scope:

[
‘app\listeners\revokeoldtokens’,
],
‘laravel\passport\events\refreshtokencreated’ => [
‘app\listeners\pruneoldtokens’,
],
];
13、测试

passport 的 actionas
方法可以用于指定当前的认证用户以及作用域,传递给 actionas
方法的第一个参数是用户实例,第二个是发放给用户令牌的作用域数组:

public function testservercreation()
{
passport::actingas(
factory(user::class)->create(),
[‘create-servers’]
);
$response = $this->post(‘/api/create-server’);
$response->assertstatus(200);
}

相关搜索:
jsp api
ejb api
spring api
delphi api
webservice 安全

相关文章

2017-02-18 03:50 [ laravel 5.4 文档 ] 安全 — 用户认证
2017-02-21 04:09 [ laravel 5.4 文档 ] 安全 — 加密
2017-03-22 00:27 laravel5.4 api token认证
2017-02-21 00:20 [ laravel 5.4 文档 ] 安全 — 用户授权
2016-09-12 03:14 [ laravel 5.3 文档 ] 安全 — 用户认证

更多相关文章>>

最新文章

2017-06-20 01:35 老铁们,有没有可能让php文件同时只能一个人访问
2017-06-20 01:35 怎么禁止图片直接通过url访问
2017-06-20 01:35 求救!启动wamp只能用本机访问,同局域网的其它设备访问不到!搞了大半天t-t
2017-06-19 15:35 nginx下的thinkphp问题
2017-06-19 15:35 php form 文件上传

更多最新文章>>

热门搜索

webservice安全
jsp文档
hibernate文档
.net文档
xml文档
hibernate api chm
hibernate api 在线
hibernate中文api
java web api
vb.net api
.net web api
jsp安全帽
ejb安全性
asp.net安全
java webservice 安全

京icp备14022385号-2

©2014 itnose软件编程教程 | 联系我们:email:twobrushes@126.com qq:35155868

Posted in 未分类