相关疑难解决方法(0)

自定义令牌响应Laravel Passport

我目前正在开发一个API并且已经打了一堵砖墙.我正在使用带有"密码"授权类型的Passport.

我想用访问令牌返回用户信息,但是,我不知道如何.

我可以实现,编辑或扩展哪个类来获取它?

我想要退回:

{
    "token_type": "Bearer",
    "expires_in": 31536000,
    "access_token": "lalalalalal",
    "refresh_token": "lalalallala",
    "user": {
        "username": "a username",
        "user_type": "admin"
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

oauth-2.0 laravel laravel-passport

16
推荐指数
3
解决办法
8688
查看次数

Laravel Passport密码授予刷新令牌

尝试使用Laravel的Passport与移动客户端相处.密码授权类型的身份验证似乎是要走的路,我让它与我的iOS应用程序一起工作,但是我无法让令牌刷新工作.

在进行身份验证时,我会获得一个tokenrefresh token我存储的内容,但是当令牌过期时,调用该oauth/token/refresh路由不起作用.该路由使用web中间件,这意味着我的app使用api路由无法访问它.我不确定他们是否打算让移动客户永远不刷新,或者他们是否希望你自己刷新?如果有人了解这应该如何工作,那就太好了.

php authentication ios laravel laravel-passport

7
推荐指数
2
解决办法
1万
查看次数

dusterio/lumen-passport:在 JWT 负载中传递自定义数据

我正在使用lumen-passport进行身份验证和授权。当我解码 JWT 令牌时,我得到的有效负载如下:

{
  "aud": "9420abb1-1470-4895-8666-a702b415cb59",
  "jti": "03b55ab9d73953207a7e568657a1f83a9c5dcc0162b43fe4816c6086d30d4002b9bd74604ba99ea6",
  "iat": 1635781614.447866,
  "nbf": 1635781614.447872,
  "exp": 1635783414.409659,
  "sub": "1b910fc7-54bc-44ef-885b-869b2a095c11",
  "scopes": []
}
Run Code Online (Sandbox Code Playgroud)

sub是用户uuid。我想传递自定义数据以及sub如下所示。

{
  "aud": "9420abb1-1470-4895-8666-a702b415cb59",
  "jti": "03b55ab9d73953207a7e568657a1f83a9c5dcc0162b43fe4816c6086d30d4002b9bd74604ba99ea6",
  "iat": 1635781614.447866,
  "nbf": 1635781614.447872,
  "exp": 1635783414.409659,
  "sub": "1b910fc7-54bc-44ef-885b-869b2a095c11",
  "custom_data": "this is a custom data.",
  "scopes": []
}
Run Code Online (Sandbox Code Playgroud)

我如何在dusterio/lumen-passportlaravel/passport中实现这一点?

我生成令牌如下:

public function authenticateWithPassword(
        ServerRequestInterface $request,
        string $email,
        string $password,
        string $scope = ''
    ): Response {
        $newBody = [
            'grant_type' => 'password',
            'client_id' => $this->clientId,
            'client_secret' => …
Run Code Online (Sandbox Code Playgroud)

payload jwt laravel-passport passport-jwt

5
推荐指数
0
解决办法
398
查看次数