如何强制使Salesforce访问令牌过期?
如何强制使Salesforce OAuth访问令牌过期?
刚好之前做过类似的OAuth流程测试,给你几个实用的办法来强制让Salesforce的访问令牌过期,方便你测试刷新令牌的重新认证流程:
撤销刷新令牌:Salesforce的OAuth机制里,刷新令牌和访问令牌是绑定的,一旦刷新令牌被撤销,对应的访问令牌也会立即失效。你可以调用Salesforce的撤销API来实现:
POST /services/oauth2/revoke Content-Type: application/x-www-form-urlencoded token=<你的refresh_token值>注意:这个操作会让刷新令牌也失效,测试完成后你需要重新获取新的令牌对。
修改关联用户的密码:这是最直接的方法之一——当你修改了OAuth关联用户的密码后,该用户名下所有活跃的访问令牌和刷新令牌都会立刻失效。测试完之后再把密码改回去就行,操作起来很简单。
手动终止用户会话:在Salesforce的后台Setup里,搜索「Session Management」,找到对应用户的会话(可以通过用户ID或者令牌的相关信息定位),点击「Terminate」按钮终止会话,对应的访问令牌就会立即失效。这种方法不会影响刷新令牌,特别适合你测试用刷新令牌重新获取访问令牌的场景。
另外补充一点:你提到返回结果里没有expiry date参数,其实Salesforce的访问令牌默认有效期是15分钟(900秒),你可以用返回的issued_at(Unix时间戳)加上900秒来计算出过期时间,但如果是测试的话,显然上面的强制失效方法比等15分钟高效得多。
内容的提问来源于stack exchange,提问作者SlowBlurry
相关产品推荐
相关产品推荐

