您如何强制使 salesforce 访问令牌过期?

How can you force expire a salesforce access token?

我正在构建一个网络应用程序并使用 OAuth2 进行身份验证。出于测试目的,我想测试当访问令牌过期并且需要刷新令牌以重新验证时会发生什么。由于 salesforce oauth 令牌不包含 "expiry date" 参数,我将如何强制使 salesforce 访问令牌过期。

这是请求令牌时返回的内容。

{
    "oauth_token": {
        "access_token": "<access token>",
        "id": "https://login.salesforce.com/id/00DG0000000imtwMAA/005G0000001CFgeIAG",
        "id_token": "<id token>",
        "instance_url": "https://na47.salesforce.com",
        "issued_at": "1522400000",
        "refresh_token": "<refresh token>",
        "scope": [
            "refresh_token",
            "full"
        ],
        "signature": "<signature>",
        "token_type": "Bearer"
    }
}

如果您想手动执行,可以转到 设置 > 安全控制 > 会话管理,然后 select 从列表中删除会话。或者,如果您需要以编程方式执行此操作,则可以查询和删除这些存储在 AuthSession 对象中的记录。

完成后,您的访问令牌将过期,尝试使用它会产生:

[ { "message" : "Session expired or invalid", "errorCode" : "INVALID_SESSION_ID" } ]

您的刷新令牌仍然有效,您可以使用它来请求新的访问令牌。