【发布时间】:2019-02-14 12:22:15
【问题描述】:
我有一个使用 Laravel/Lumen 及其 Auth guard JWT 令牌进行登录的应用程序。
我向
发送请求 http://myserver.com/authenticate
我得到一个令牌作为回应。
然后当我在后续请求中使用这个令牌时
http://myserver.com/users
标头中有标记
Authorization : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpc3MiOiJjbG96ZXJ0b29sc1YyIiwianRpIjoiNTBiMjE1MjllZGIxMmI4OGJlYTJmOTQxMTViNjc2NmYiLCJpYXQiOjE1MzY1NTU3NzEsIm5iZiI6MTUzNjU1NTc3NiwiZXhwIjoxNTM2NTcwOTc2LCJkYXRhIjp7ImVtYWlsIjoia3lsZWtvb3BtYW5AZ21haWwuY29tIiwiYXZhdGFyIjoiIiwiZmlyc3RfbmFtZSI6Ikt5bGUiLCJsYXN0X25hbWUiOiJLb29wbWFuIiwiaWQiOjMzNH0sInN1YiI6MzM0fQ.p20K56BW0c_J-xlk9gV6wDFafxgNuKUOmgk-4ExKhh9qPw79R0bpm-QbnVQFtYlatB_MjLYK1NdUt5GlGaOE9w
请求显然通常返回 200,(无论如何在我的本地服务器上) 但是,在我的生产服务器上,所有带有所提供令牌的后续请求都返回 401 / Unauthorized
两台服务器上的所有设置都相同。
我在生产服务器和本地服务器上的 .env 中都有这个。
JWT_KEY=yUyg2oo3M2N0Lf0CnsbG1ztsL1ovA70K
JWT_EXPIRE_AFTER=15200
JWT_ISSUER=mysite
JWT_ID_FIELD=id
JWT_NBF_DELAY=25
DB_TIMEZONE=+00:00
APP_TIMEZONE=UTC
我的假设是它与到期和/或服务器时间有关。
就像我认为返回的令牌已经过期,因此在后续请求中它是无效的。
我认为这是问题所在是否正确?我该如何修复它/测试它?
【问题讨论】:
标签: php authorization jwt lumen