关于Salesforce连接应用Access Token过期与固定使用的技术问询
关于Salesforce连接应用Access Token持续使用的问题解答
一、会话策略设为“none”时,原Access Token能否持续使用?
不行。哪怕连接应用的会话策略超时设为“none”、用户也未手动登出,Access Token本身仍会过期。原因很明确:
- 会话策略管控的是用户在Salesforce界面的登录会话时长,和OAuth生成的Access Token有效期是两个独立机制,互不影响。
- Salesforce的Access Token默认有效期为15分钟(可在连接应用的OAuth设置中调整时长,但无法设为永久),到期后会自动失效,必须重新获取或刷新。
二、如何在不更改Access Token值的前提下持续使用?
Salesforce原生机制里没有办法实现这一点——因为Access Token的过期是平台强制规则,每次刷新(或重新获取)都会生成新的Token值。如果一定要满足客户需求,只能通过自定义中间层间接实现:
- 搭建一个代理服务,让业务系统始终调用这个代理,而非直接对接Salesforce API。
- 代理服务内部维护有效的Access Token:当旧Token过期时,自动用刷新令牌(或Client ID/Secret)获取新Token,对外则保持固定的调用入口,让业务系统感知不到Token的变化。
必须再次强调:这种做法会大幅放大安全风险,一旦代理或固定入口泄露,攻击者可长期无限制访问资源,完全违背了OAuth Token过期机制的安全设计初衷。
内容的提问来源于stack exchange,提问作者whytili
相关产品推荐
相关产品推荐

