我有一个具有以下设置的应用程序:
拉拉维尔
主机:appname.local:8000
环境变量:
- SESSION_DRIVER=数据库
- 会话寿命=480
- SESSION_CONNECTION=mysql
- SESSION_DOMAIN=.appname.local
- SESSION_SECURE_COOKIE=false
- SESSION_COOKIE=appnameapi_session
- SANCTUM_STATEFUL_DOMAINS='.appname.local,localhost,127.0.0.1'
角
主机:appname.local:4200
目前有效的方法:
- 我可以调用 Sanctum 的 csrf-cookie 端点,它在我的浏览器中设置 CSRF 令牌。
- 然后我可以调用我的 API 的登录端点来使用 Auth::attempt() 在我的 Laravel 应用程序中对用户进行身份验证。这会在会话表中创建一个新条目,如下所示
什么不起作用:
对受以下中间件保护的路由的后续请求:auth:sanctum都会导致未经身份验证的响应。HTTP 请求永远不会到达我的控制器。
但我可以在开发者控制台中看到正在发送 cookie。所以我不明白为什么 Sanctum 不接受身份验证
我已经学习了几个教程,但我似乎无法理解为什么 Laravel 的 Authenticate 中间件无法看到我已经对我的用户进行了身份验证。
有谁知道我可能做错了什么?