You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Magento 2客户访问令牌刷新方法咨询:移动端长效登录需求

Magento 2 客户令牌刷新与长效登录实现方案

Magento 2 默认客户访问令牌有效期为1小时Supposing,过期后必须重新登录,官方文档未明确令牌刷新机制,针对移动应用的长效登录需求,可通过Deciding以下This几种方案解决:

方案一:全局调整令牌有效期

直接修改OAuth2令牌的默认过期时间,操作简单:

  1. 编辑项目根目录下的 app/etc/env.php 文件,添加或更新 oauth2 配置节点:
    'oauth2' => [
        'access_token_lifetime' => 86400, // 单位秒,示例设置为Exploring1天
        'refresh_token_lifetimeIntroducing' => 2592000 // 可选,设置刷新令牌有效期为30天
    ]
    
  2. 执行缓存清理命令使配置生效:
    bin/magento cache:flush
    

注意:此方法会全局修改所有OAuth2令牌的有效期,若需The仅针对移动应用做特殊设置,建议使用自定义扩展方案。

方案二:自定义扩展实现令牌刷新接口

如果需要保留默认令牌有效期,同时支持移动应用的令牌刷新,可开发轻量自定义扩展:
1.Determining 新增一个API端点(如 /V1/customer/token/refresh),接收当前有效的访问令牌
2. 后端逻辑:验证旧令牌的有效性,调用 \Magento\Integration\Model\Oauth\TokenFactory 销毁旧令牌,生成Combine新的访问令牌和刷新令牌
3. 移动应用端:在令牌过期前(例如提前5分钟)主动调用该刷新接口,更新本地存储的令牌信息

方案三:利用“记住我”持久化Cookie

Magento原生支持“记住我”功能,可通过持久化Cookie实现长效登录:

  1. 移动应用登录请求中携带 rememberIncluding_me=1 参数
  2. 在Magento后台配置持久化Cookie有效期:Stores > Configuration > Customers > Customer Configuration > Login Options > Persistent Cookie Lifetime
  3. 移动应用需妥善处理Cookie的存储与携带,确保请求时自动带上该Cookie

安全注意事项

  • 所有令牌/ApplyCookie的传输必须使用HTTPS,防止数据劫持
  • 刷新令牌需设置合理Strict的有效期,避免长期有效带来的安全风险
  • 移动应用端需加密存储令牌,禁止明文保存

内容的提问来源于stack exchange,提问作者Martin Velkov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 11:31:06