11.3. 使用 Passport 认证

本教程最新版为 9.x,当前版本已放弃维护,请阅读最新版本!

使用 Passport 认证

这一节我们将现有的接口实现,由之前 JWT 授权方式, 更替为 Passport 的 Oauth2 授权。

登录接口

调整接口

Passport 提供的默认路由为 larabbs.test/oauth/token ,而我们的现在接口统一都有 /api 的前缀,所以我们不使用 Passport 默认的路由,依然使用 /api/authorizations。先来修改登录接口:

app/Http/Controllers/Api/AuthorizationsController.php

.
.
.

use Psr\Http\Message\ServerRequestInterface;
use League\OAuth2\Server\AuthorizationServer;
use Zend\Diactoros\Response as Psr7Response;
use League\OAuth2\Server\Exception\OAuthServerException;
.
.
.
public function store(AuthorizationRequest $originRequest, AuthorizationServer $server, ServerRequestInterface $serverRequest)
{
    try {
       return $server->respondToAccessTokenRequest($serverRequest, new Psr7Response)->w...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 32

zhangatle
client_secret 泄露的问题,怎么不让用户看到?
2 个点赞 | 7 个回复 | 问答 | 课程版本 5.5
stefen
删除 token 后, 再次重复删除 token 的请求报以下错误?
2 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
xiaozhao
教程中的错误
1 个点赞 | 1 个回复 | 分享 | 课程版本 6.x
Icy
根据 AccessToken 获取用户个人信息时报错
0 个点赞 | 8 个回复 | 问答 | 课程版本 5.5
QYlaravel
不用 DingoApi 如何 删除 Token?
0 个点赞 | 8 个回复 | 问答 | 课程版本 5.5
mindgame1976
Postman 调试登陆,还是 JWT 方式?
0 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
Aben
destroy () 里面的 $this->user () 最好加上为空判断
0 个点赞 | 6 个回复 | 问答 | 课程版本 5.7
seeker
定义好 findForPassport 后,再次尝试使用手机登录 报错??
0 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
孤雪飘寒
如果只是用 passport 做前后端分离,多表多字段该如何做了
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.7
woowli
使用 passport 的登录,获取用户模型为 NULL?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
王鲸弋
通过密码登录 不使用 client_id 和 client_secret 怎么实现?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
_seven
url
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
surest
关于 getAuthorizationMethod () 这个方法的作用是?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
江渚之上
Passport Token 刷新的时候报错?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
stella_sex
user 表里面没有 API_token,这个怎么解决
0 个点赞 | 1 个回复 | 分享 | 课程版本 5.8
rookie2015
这里用了 DingoApi ?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.7
tw0325795
使用 passport 新增沒問題,但刪除與更新卻出現無權限
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
szwss
Bennent_G
passport 客户端模式(client_credentials),调用其 JSON API 出错
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
王鲸弋
报错 401 The user credentials were incorrect.
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
w594533
最上方,注入 ServerRequestInterface 返回,会有跨域问题?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
lafans
没有找到vendor/zendframework/zend-diactoros/src/Response.php文件啊
0 个点赞 | 0 个回复 | 问答 | 课程版本 7.x
qingshui
前端怎么结合laravel/passport使用
0 个点赞 | 0 个回复 | 问答 | 课程版本 6.x
Geekc
passport 多表登陆 auth:API 中间件鉴权失败
0 个点赞 | 0 个回复 | 问答 | 课程版本 6.x
_null_
stella_sex
获取登录用户信息 ,这个文件怎么调用
0 个点赞 | 0 个回复 | 分享 | 课程版本 5.8
AGLB
passport 的登录,怎么在方法里面获取用户信息
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.8
heart_5653
关于 x-www-form-urlencode
0 个点赞 | 0 个回复 | 分享 | 课程版本 5.8
A张舫
使用 Passport 认证后 请求修改 话题 This action is unauthorized
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.7