标签: laravel-passport

如何在 Laravel Passport 中获取用户详细信息

我正在使用 Laravel 5.6 和 vue.js2 开发应用程序。我使用 Laravel Passport 作为 API 进行用户身份验证。我routeapi.phpLaravel 中对此一无所知。我在vue.js.

methods: {
        login() {
            var data = {
                client_id: 2,
                client_secret: 'ispGH4SmkEeV4i5Tz9NoI0RSzid5mciG5ecw011f',
                grant_type: 'password',
                username: this.email,
                password: this.password
            }
            this.$http.post('http://127.0.0.1:8000/oauth/token',data)
                .then( response => {
                    this.$auth.setToken(response.body.access_token, response.body.expires_in + Date.now())                        
                    this.$router.push('dashboard')
            })
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在我想获取认证的用户的细节,如userNameemail等。

vuejs2 laravel-passport laravel-5.6

0
推荐指数
1
解决办法
396
查看次数

Laravel 5.6 通过 oauth/令牌挂起

我已经使用 Laravel Passport 安装设置了一个新的 Laravel 5.6 安装。如果我使用 Postman向http://127.0.0.1/oauth/token发出帖子请求,我会得到一个有效的令牌:

要求

POST /oauth/token HTTP/1.1
Host: 127.0.0.1:8000
Content-Type: application/json
X-Requested-With: XMLHttpRequest
Cache-Control: no-cache
Postman-Token: 99529c07-0fe3-38a8-54cf-8b80a9dd5fbd

{ 
    "grant_type" : "password",
    "client_id" : 4, 
    "client_secret" : "Ib1UOS7BK12tFxOilqwea1XGJhrExbVYe8B7r8wK",
    "username" : "mail@mail.com",
    "password" : "password"
}
Run Code Online (Sandbox Code Playgroud)

回复:

{
    "token_type": "Bearer",
    "expires_in": 31536000,
    "access_token": "eyJ0eXAiOiJKV1.....",
    "refresh_token": "def5020026dfeb6f91f6a9....."
}
Run Code Online (Sandbox Code Playgroud)

我不希望我的用户直接访问它,所以我在 routes/web.php 文件中设置了一个路由:

Route::post('login', 'API\AuthController@login');
Run Code Online (Sandbox Code Playgroud)

我的 AuthController 看起来像:

<?php

namespace App\Http\Controllers\API;

use App\OAuth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller as Controller;
use Illuminate\Support\Facades\Auth;
use Carbon\Carbon;
use App\User;

class AuthController extends …
Run Code Online (Sandbox Code Playgroud)

curl oauth laravel-passport laravel-5.6

0
推荐指数
1
解决办法
2650
查看次数

在 AWS 上部署期间 Laravel 护照无效令牌

我的设置如下:我有一个用 Vue.js 编写的前端,一个 Laravel 5.6 中的 API 和 AWS 上的基础设施。一切都在 docker 容器中运行。我们在前端和 API 之间有 4 个 API 容器和一个负载均衡器。身份验证适用于 Laravel Passport v5 和不记名令牌。

基本上一切正常,身份验证成功。

但是,当我们部署新版本的 API 时,会遇到以下情况:2 个 API 实例的版本为 1,其他 2 个 API 实例的版本为 2。这是有意的,因为我们希望持续部署而不会停机。一段时间后,2 个 v1 实例也被新的 v2 实例替换。所有实例都使用相同的数据库。

不幸的是,在此时间段内,身份验证不再起作用。似乎前端使用正确的新令牌向 API 发出了一些请求。负载均衡器将一些请求分发到 v1 实例,一些分发到 v2 实例。对 v2 实例的请求成功,对 v1 实例的请求不成功(401 未授权)。

我的问题:护照如何验证不记名令牌?为什么 v1 实例不能验证 v2 实例生成的令牌,反之亦然?即使它们都使用相同的数据库,我可以监督哪些实例和影响通行证之间的差异?

amazon-web-services laravel laravel-passport laravel-5.6

0
推荐指数
1
解决办法
907
查看次数

护照中间件权限路由

我第一次使用 Passport laravel,但我仍然不太明白 midlewareare auth:api 和 client:credentials (CheckClientCredentials) 之间的区别,这两种类型的中间件不限制路由吗?它们之间有什么区别?

laravel laravel-5 laravel-passport

0
推荐指数
1
解决办法
56
查看次数

Laravel 中的 Passport 是什么?

我是网络服务的初学者。我必须使用 Laravel 为移动应用程序制作 API。在 Laravel 文档中,我有API Authentication (Passport)。我试图理解这一点,但不清楚。

谁能详细告诉我一下?

提前致谢

laravel laravel-passport

0
推荐指数
1
解决办法
1812
查看次数

Laravel Passport 登录无法使用 Jetstream Inertia 正确重定向

我已经使用 Laravel Passport 实现了 OAuth 系统,但该系统的登录和所有身份验证均由具有 Inertia 的 Laravel Jetstream 处理。

当我想要请求代码(使用授权代码授予)时,我的应用程序将我重定向到我的 OAuth 服务器,该服务器在继续之前要求我登录,此屏幕是 Laravel Jetstream 使用 Inertia (Vue) 登录生成的屏幕。当我登录时,它会将我重定向到授权页面,但是这个重定向很奇怪,因为该页面显示在 Vue(惯性)页面内,浏览器中的 URL 不会更新,并且如果我接受授权请求它将我重定向回我的应用程序,但重定向位于同一个 Vue 页面内,我的意思是,URL 与我的 OAuth 服务器登录名相同,但视图是请求代码的应用程序。

我认为 Vue 中的重定向存在问题,因为授权页面没有使用 Inertia(Laravel Passport 的默认授权页面),而且我不知道如何修复它,你能帮我吗?

这是一张图片:

坏框架

正如你所看到的,它似乎是在模态中,但是是一个惯性错误页面,里面显示的是授权页面,是一个重定向错误,我不知道如何修复

authentication inertiajs laravel laravel-passport

0
推荐指数
1
解决办法
1487
查看次数