我正在尝试学习如何使用 Laravel Sanctum 身份验证。当我发送时,GET https://localhost/sanctum/csrf-cookie
我得到以下 CSRF cookie:
XSRF-TOKEN=eyJpdiI6Inhvb0FDVXdHZDU5QzBqQTNKaWNxTUE9PSIsInZhbHVlIjoiSXNudjNiNE9xbmtNVWdsQ0l2SDRyYUNPQXIrTGJLb2ZMVDc2NWttenZGY0NkcDRvQzFVQlZOMDRlNFdTOHJaNiIsIm1hYyI6ImY0Y2M2YzZiZWIxYWVmZTRmMWI5NWRhNTBhN2JmM2VjNGExYjU0MGYwYWVmYTE4ODQxM2I0YTFlMWVjZTVhMDkifQ%3D%3D;
您可以注意到令牌末尾的奇怪 %3D%3D。这些字符也添加到我的 laravel_session cookie 中。然后,当我在标头 X-XSRF-TOKEN 中发回带有此确切令牌的请求时,我收到令牌不匹配错误。当我删除字符时 - 一切正常。我想知道这些字符是从哪里来的,我该如何删除它们。
UPD:因为这些是编码的 URL 字符,所以当我将它们解码并将 '==' 而不是放在 X-XSRF-TOKEN 的末尾时,这似乎是有效的。尽管如此,奇怪的是为什么它在我手动从查询中删除字符之前起作用。