11.3. 使用 Passport 认证

使用 Passport 认证

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

登录接口

调整接口

Passport 提供的默认路由为 http://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)->withStatus(201);
    } catch...

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

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

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 27

zhangatle
client_secret 泄露的问题,怎么不让用户看到?
2 个点赞 | 6 个回复 | 问答 | 课程版本 5.5
stefen
删除 token 后, 再次重复删除 token 的请求报以下错误?
2 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
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
szwss
iVerywang
通过密码登录 不使用 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
girl-manong
最上方,注入 ServerRequestInterface 返回,会有跨域问题?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
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
iVerywang
报错 401 The user credentials were incorrect.
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.5