QQ扫一扫联系
用Apifox 测试api/login,api/logout. api/login 是得到`api-token`, 然后我用api/logout, 得到成功提示。然后我又调用api/login,发现对同样的username,password, 第二次返回的跟第一次返回的api-token是一样的。所以, 对于同一个用户api-token 永远是一样的吗?
在我自己新开发的模块中,我发现无论我是否携带‘api-token` header, 都可以得到数据。 我需要在controller中加入auth 或api-token检查吗?如果需要自己检查,可否有示例代码?
PHP8.1 ModStartCMS V8.0.0
如果请求header 中携带了 api-token,则会优先使用携带的 api-token。所以第一个问题应该是你一直携带了相同的 token 在请求中导致的。
第二个问题,默认 Api 组中的所有请求都是经过了这个 ModStart\App\Api\Middleware\SessionMiddleware 。如果是用户(Member)验证,则需要再增加 \Module\Member\Middleware\ApiAuthMiddleware 验证。具体可参考这两个 Middleware 中的逻辑。
ok. thanks.
那请问api-token的有效时间可以控制吗? 我把api-token 保存在localstorage 后,短时间内可以用来调用需要member验证的api 接口,但过几个小时后,保存的api-token就失效了,接口返回要求登录(如下)。有什么配置可以设置'api-token'的有效时间吗?比如一个月?而且应为API也要通过ModStart\App\Api\Middleware\SessionMiddleware,apit-token失效是更session有关吗?
如何控制 Cookie 信息
Laravel 的 Cookie 配置信息配置文件位于
config/session.php
,具体可参考以下几个配置lifetime
:会话有效期,直接控制 Cookie 的有效期,单位分钟,默认为 120 表示 2 小时expire_on_close
:关闭浏览器是否立即过期path
:Cookie 的 Pathdomain
:Cookie 的 域名谢谢。 我在config中还看到sanctum.php, 但是api-token是不是并没有用到sanctum.php?
谢谢。 我在config中还看到sanctum.php, 但是api-token是不是并没有用到sanctum.php?
在追加一个相关的问题, 我的前端是一个uni-app项目,所有的功能都是要调用不同的Api接口来完成的,计划要要打包H5,安卓端,服务器端的session设置会影响到api-token的时效,对安卓端跟H5的作用是一样的吗? 我有点迷糊,总觉得session只是对浏览器,比如对H5有效。
up!
@WX_pX4: 一样的