用于保护外部 REST 端点的 Salesforce 身份

问题描述

使用 salesforce 身份保护对外部托管的 Web API 的访问的良好 OAUTH 2.0 工作流程是什么,以便可以保护对 Web API 的所有请求免受未经授权的访问?

我最初认为用户会通过直接与身份验证端点通信来生成 OAUTH 访问令牌,然后将该令牌传递给他们发出的每个请求的外部 Web API,在执行该请求之前,Web API 将对其进行验证工作。

但是,在 Salesforce 身份验证端点上似乎没有“验证访问令牌”请求,Web API 可以使用该请求来验证访问令牌。我在 Salesforce 文档中看不到任何特定于此用例的身份验证流程,所以我认为我误解了一些东西。

解决方法

你为什么不直接在 SF 中调用一些东西?如果您获得的访问令牌无效(会话已过期,管理员在设置 -> 会话管理等中终止了会话),它会失败吗?从成功登录调用 id 资源(请参阅 https://salesforce.stackexchange.com/q/11728/799)或对用户对象或 /limits 资源运行查询...什么?

这可能是一种矫枉过正(真的,对每个请求都进行验证?),当用户没有在 SF 中标记为“API Enabled”时,它可能会失败。每次调用它都会重置会话超时计数器。

也可以在 salesforce.stackexchange.com 上询问。