Laravel Passport:API 的令牌是否存储在服务器上,存储在哪里?
Laravel Passport: Are API's tokens stored on the server, and where?
我试图找到方法 $user->createToken('MyApp')->accessToken;
返回的令牌在数据库中的存储位置,但似乎找不到。它首先存储在服务器中吗?如果有,在哪里?
如果因为它是独立的而不存储在服务器上,为什么 Laravel 的开发人员将 $table->rememberToken();
放在默认的 create_users_table.php
迁移中? remember_token
列的用途是什么?
感谢您的帮助。
请记住,用户 table 中的令牌是用于 "Remember Me" 的,当您在网络上登录时。
Laravel:“用户”数据库table中的“remember_token”是什么?
如果您使用护照并创建 API,您可以在数据库的 oauth_access_tokens 中找到令牌 ID。
不,访问令牌值未存储在任何地方。如果你失去了它,它就消失了。您需要重新生成一个新令牌。
rememeber_token
字段用于正常 Web 身份验证的 "Remember Me" 功能。它与 Passport API 身份验证完全无关。
我想你可以说 一些 令牌的一部分存储在数据库中。
返回的令牌是 JWT(JSON Web 令牌)。其中编码的是关于令牌的信息,比如它的到期时间、用于散列它的算法、令牌范围和它的 ID(在有效负载中它被命名为 jti
)。该 ID 存储在 oauth_access_tokens
table.
中
在 \Laravel\Passport\PersonalAccessTokenFactory::findAccessToken
class 中的这个方法中,您可以看到 Laravel 如何检查令牌是否在数据库中:
/**
* Get the access token instance for the parsed response.
*
* @param array $response
* @return Token
*/
protected function findAccessToken(array $response)
{
return $this->tokens->find(
$this->jwt->parse($response['access_token'])->getClaim('jti')
);
}
如果您获得有效的令牌并将其粘贴到 this online tool 中,您将看到它的结构。外观如下:
现在,知道有效负载的预期格式后,如果您稍微尝试一下这些信息和 oauth_access_tokens
中的数据(ID、范围、创建和到期日期),您应该能够创建一个有效的令牌。
我试图找到方法 $user->createToken('MyApp')->accessToken;
返回的令牌在数据库中的存储位置,但似乎找不到。它首先存储在服务器中吗?如果有,在哪里?
如果因为它是独立的而不存储在服务器上,为什么 Laravel 的开发人员将 $table->rememberToken();
放在默认的 create_users_table.php
迁移中? remember_token
列的用途是什么?
感谢您的帮助。
请记住,用户 table 中的令牌是用于 "Remember Me" 的,当您在网络上登录时。 Laravel:“用户”数据库table中的“remember_token”是什么?
如果您使用护照并创建 API,您可以在数据库的 oauth_access_tokens 中找到令牌 ID。
不,访问令牌值未存储在任何地方。如果你失去了它,它就消失了。您需要重新生成一个新令牌。
rememeber_token
字段用于正常 Web 身份验证的 "Remember Me" 功能。它与 Passport API 身份验证完全无关。
我想你可以说 一些 令牌的一部分存储在数据库中。
返回的令牌是 JWT(JSON Web 令牌)。其中编码的是关于令牌的信息,比如它的到期时间、用于散列它的算法、令牌范围和它的 ID(在有效负载中它被命名为 jti
)。该 ID 存储在 oauth_access_tokens
table.
在 \Laravel\Passport\PersonalAccessTokenFactory::findAccessToken
class 中的这个方法中,您可以看到 Laravel 如何检查令牌是否在数据库中:
/**
* Get the access token instance for the parsed response.
*
* @param array $response
* @return Token
*/
protected function findAccessToken(array $response)
{
return $this->tokens->find(
$this->jwt->parse($response['access_token'])->getClaim('jti')
);
}
如果您获得有效的令牌并将其粘贴到 this online tool 中,您将看到它的结构。外观如下:
现在,知道有效负载的预期格式后,如果您稍微尝试一下这些信息和 oauth_access_tokens
中的数据(ID、范围、创建和到期日期),您应该能够创建一个有效的令牌。