前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >salesforce 外部系统调用salesforce时restful接口认证方式

salesforce 外部系统调用salesforce时restful接口认证方式

原创
作者头像
zcx
修改2024-09-06 10:37:53
1480
修改2024-09-06 10:37:53
举报
文章被收录于专栏:salesforce开发记事本

本文记录,外部系统调用salesforce时两种认证方式。这两种认证方式都是salesforce提供的标准接口oauth2。

1. 账号密码认证,直接拿到token

代码语言:txt
复制
接口地址:
https://test.salesforce.com/services/oauth2/token
调用方式:
POST
参数:
grant_type:  password
client_id:   xxx
client_secret:  xxx
username: xxx
password: xxx

参数名

内容

grant_type

password

client_id

client_secret

username

password

此种方法因账号密码明文传输,在实践中并不安全。因此第二种方式:

2. sf跳转到回调地址拿到code,用code换取token

1.调用authorize接口,重定向到salesforce标准登陆页面

代码语言:javascript
复制
接口地址:
https://test.salesforce.com/services/oauth2/authorize
调用方式:
POST

参数名

内容

grant_type

authorization_code

response_type

code

client_id

redirect_uri

回调地址 示例:https://example.com/callback

scope

full

code_challenge

code_verifier 为 随机字符串 sha-256加密后获得code_challenge 。code_verifier在后续的流程中会用到

code_challenge_method

S256

state

helloworld (这个参数可以带过去)

2.用户自行输入密码

3.若用户的账号密码在salesforce认证成功,saleforce自动重定向到已经配置好的回调地址,并附带一个code

代码语言:txt
复制
跳转到回调地址:
https://example.com/callback?code=aPrxKeZrWIbgtFNnEb3YmaVOvrOtFAk_ffCgAanAA4n3mslDgD7i6jfQgJGsXb9yOLXgR1hpaQ%3D%3D
java服务拿到code

4.此回调地址的服务器拿到code,可以调用services/oauth2/token接口换取token

代码语言:txt
复制
接口地址:
https://test.salesforce.com/services/oauth2/token
调用方式:
POST

参数名

内容

grant_type

authorization_code

code

aPrxKeZrWIbgtFNnEb3YmaVOvvEYouoUysW2fp3SpWuT3y78EjcIc3WXxdXVtoKcJMwOK003MA%3D%3D

client_id

client_secret

redirect_uri

回调地址 必须与第一步一致一致

code_verifier

code_verifier 为 随机字符串 sha-256加密后获得code_challenge 。code_verifier在后续的流程中会用到

两种认证方式的区别:

1. 账号密码方式更简便,回调地址方式更安全。

2. 账号密码方式拿到的token无法refresh。回调地址拿到的token可以继续调用refresh接口,做到刷新token,可以实现登录状态持久化的效果。

3. 若salesforce配置了单点登录sso流程,那么在通过登录中心登录的用户,只能通过回调地址方式认证。

下一篇记录单点登录sso过程中,跳转回salesforce后获取token的方式。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 账号密码认证,直接拿到token
  • 2. sf跳转到回调地址拿到code,用code换取token
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档