[英]Laravel Sanctum - sanctum/csrf-cookie (204 "No content")
[英]laravel sanctum, identify user from cookie
我是 larravel 新手,使用 laravel sanctum 构建应用程序,session 驱动程序是 cookie。
laravel 应用程序部署在球童后面,我启用了球童日志。 日志格式是json,我看到它包含每个请求头,并且记录了cookie信息,所以我想知道我是否可以通过cookies识别用户,我尝试解码cookie但失败,有什么方法可以通过曲奇饼?
这是日志格式
{
"level": "info",
"ts": 1648864255.073147,
"logger": "http.log.access.log5",
"msg": "handled request",
"request": {
...
"headers": {
"Accept": [
"application/json, text/plain, */*"
],
"X-Xsrf-Token": [
".....yJpdiI6Ijh6bjVZMXUvOFlkR3V1U....."
],
"Cookie": [
"XSRF-TOKEN=...eyJpdiI6Ijh6bjVZMXUvOFlkR3V1UE....9"
]
}
},
"resp_headers": {
"Set-Cookie": [
"XSRF-TOKEN=hbHVlIjoiOHN6L1BXa2N; expires=Sat, 02-Apr-2022 03:50:55 GMT; Max-Age=7200; ...",
"card_session=2IzTC9BbTEydW5NUDEvd016aVhlOWp; expires=Sat, 02-Apr-2022 03:50:55 GMT; Max-Age=7200; ...",
"hkx3q7J7TeLVf3hV9XSaDiwScSS7rUIPP7kcge7f=eyJpdiI6RzlOeEN5eUhxUVE4OUZpMkFmSmYSIsInRhZyI6IiJ9; expires=Sat, 02-Apr-2022 03:50:55 GMT; Max-Age=7200; ..."
],
..
}
}
``
我的工作设置
我的环境:
SANCTUM_STATEFUL_DOMAINS=localhost:5173
SESSION_DRIVER=cookie
SESSION_LIFETIME=120
SESSION_DOMAIN=.localhost
我真的很想知道为什么您需要从 cookie 中了解用户。
但是因为您是 laravel 的新手,所以我认为您将 laravel sanctum 用作身份验证器完全错了。
当使用 laravel sanctum 时,它将生成令牌以用作您的下一个 API 请求的不记名令牌。 所以在这里你应该做什么
用户数据可以在 laravel 后端的任何地方使用
Auth::user()
或者,如果您只需要用户 ID,则使用
Auth:id()
如果您不希望未经身份验证的用户使用您的端点,请不要忘记使用身份验证中间件限制您的端点
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.