理解 Salesforce 安全与身份:何时使用单点登录和 OAuth 引言
在这篇博客中,我们希望理清 Salesforce 的安全与身份,重点关注何时使用单点登录(SSO)和 OAuth。无论是通过直接登录、SSO 还是 OAuth,这些知识对于应对访问 Salesforce 的各种场景都至关重要。
何时使用标准登录、单点登录或 OAuth
直接登录:
**场景:**一个用户想通过浏览器访问 Salesforce,查看它的页面。
**访问方式:**直接登录 Salesforce,或者通过第三方身份提供商进行单点登录,无需再次认证就能顺畅访问。

移动应用中的 OAuth:
**场景:**用户使用一个移动应用,通过 API 访问 Salesforce 数据,而不是显示 Salesforce 原生的页面。
**访问方式:**这里使用 OAuth,尤其是当交互通过移动设备进行时,其中可能包括使用浏览器技术的手机或平板电脑。这种方式让移动应用可以安全地与 Salesforce API 交互。

第三方服务器中的 OAuth:
场景:用户使用浏览器与一个第三方服务器通信,而这个服务器需要代表用户访问 Salesforce 数据。例子包括电子邮件插件或其他与 Salesforce 集成的系统。
**访问方式:**使用 OAuth,并采用一个名为“Web Server with PKCE”(Proof Key for Code Exchange)的特定协议,以实现安全访问。
不同场景下的 OAuth 流程
**客户端凭据流程:**为使用指定的集成用户账户访问 Salesforce 的客户端进程(比如执行批量加载或导出的外部服务器)而设计。
**JWT、SAML 持有者断言和 SAML 断言流程:**这些流程用于客户端进程需要代表某个特定用户行事、而用户本人并不直接参与的场景。在这里,进程会模拟一个指定的用户,保持该用户文件的安全上下文。
**设备流程:**这个流程由一个需要人工介入审批的设备发起。例如,一个智能电视应用会提示用户输入一个代码来批准访问。
**资产流程:**适用于需要连接 Salesforce 来读取或写入数据的物联网(IoT)设备。
回顾与结论
本质上,你的访问方式在很大程度上取决于场景:
要通过浏览器直接访问 Salesforce,就使用直接登录,或者在你有身份服务时使用单点登录。
对于通过移动设备、第三方服务器或自动化流程进行的间接访问,OAuth 是首选的方法。在这种情况下,你必须决定 OAuth 是代表一个人类用户,还是代表一个集成用户账户来运行。
在后续的文章中,我们会更深入地探讨每个场景和用例,以提供全面的理解。
敬请关注
满怀信心地开启你的 Salesforce 身份之旅吧!想获得更多见解和技巧,请继续关注 www.SteveTechArc.com 和 YouTube 频道 @SteveTechArc (opens in a new tab)。订阅,加深你对 Salesforce 身份的理解。
与架构师同行以及正走在架构师之路上的人分享集成知识,一起改变世界!
STA 3.9