前言
在Salesforce项目中,很多地方涉及到Integration,除标准的Integration之外,还有许多Custom Integration(Rest/Soap)。那么在Custom中,我们如何保障数据安全或者说如何保障连入Salesforce的接口是经过安全验证的呢?在这里Salesforce提供了标准的Oauth2.0实现方案,也就是说我们通过在Integration中加入Oauth2.0的验证来保障安全。而且更为方便的是我们只需在连接过程中加入Oauth2.0的验证方式,但具体的验证规则则由Salesforce托管实现。笔者简写了一个测试工具(在本文末尾),可以直观的体验效果。
Oauth2.0
首先我们需要强调的是Oauth2.0是一种规范,并不是具体的技术实现方案。这里有点类似 JAVA 的 JPA,JPA并不实现ORM方案。但是它制定了一系列规范,供其它厂商去实现,例如Hibernate。了解这个之后,我们在来看Oauth2.0也是如此。Oauth2.0同样制定了一系列规范,由各厂商分别去实现各自产品的方案。这里说一些题外话,其实Oauth2.0规范是一种比较良好/简易的授权方案,目前实现的厂商非常多,例如Wechat、Alipay、Baidu等。附Oauth2.0官网:
点击打开链接
Oauth2.0术语解释
- consumer key:也叫client key,用来标识Connected App
- consumer secret:也叫client secret,类似于Connected App密码
- direct uri:客户端与服务端交互的回访地址
- access token:通行标记,与security token区分开,用来通行Salesforce Org
- refresh token:用来刷新access token
- security token:安全标记,在IDE或者不安全登陆方式上加强认证的方式
Salesforce中Oauth2.0的实现方式
在Salesforce中实现Oauth2.0有三种方案:
<