如何在DocuSign中设置PKCE(Proof Key for Code Exchange)

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
性能测试 PTS,5000VUM额度
应用实时监控服务-用户体验监控,每月100OCU免费额度
简介: 在使用DocuSign进行电子签名时,安全性至关重要。PKCE提供了一个额外的安全层,特别是在移动设备或基于浏览器的应用中,有效防止授权码泄露或被未授权的第三方使用。

甫连信息,DocuSign中国区代理与服务商。我们是APAC(亚太区)Reseller Partner列表里大中华区唯一入选的中国公司。我们还是全球第一家通过DocuSign Certified eSignature Technical Consultant考试(SDK/API集成)的Partner,有丰富的DocuSign项目集成与服务经验。

640.png

DocuSign作为一款广受欢迎的电子签名解决方案,为用户提供了便捷的文档签署服务。随着网络安全威胁的增加,使用更安全的认证方法,如PKCE,成为了保障数据安全的重要手段之一。本文将指导您如何在DocuSign中设置PKCE,以增强OAuth授权流程的安全性。
什么是PKCE?

PKCE(Proof Key for Code Exchange)是一种OAuth 2.0安全扩展,用于在公共客户端上执行授权码流程时增强安全性。它主要防止授权码拦截攻击,并确保交换授权码的客户端是生成该码的同一客户端。

为什么在DocuSign中使用PKCE?
在使用DocuSign进行电子签名时,安全性至关重要。PKCE提供了一个额外的安全层,特别是在移动设备或基于浏览器的应用中,有效防止授权码泄露或被未授权的第三方使用。

设置PKCE的步骤

  1. 创建一个DocuSign应用:首先,登录到DocuSign开发者中心并创建一个新应用。在创建应用时,选择OAuth 2.0认证方法,并确保选中“授权码授权”选项。
    image.png
    image.png

  2. 生成Code Verifier和Code Challenge:在客户端应用中,生成一个随机的、足够长的字符串作为Code Verifier。然后,使用SHA-256哈希算法对Verifier进行哈希处理,得到Code Challenge。

  3. 启动授权请求:在请求DocuSign授权时,将Code Challenge和授权请求一起发送。确保在请求中包含code_challengecode_challenge_method=S256参数。
    image.png

  4. 接收授权码:用户登录并授权应用后,DocuSign会将授权码发送回重定向URI。
    image.png

  5. 获取访问令牌:使用接收到的授权码,结合之前生成的Code Verifier,向DocuSign的令牌端点发起请求以获取访问令牌。
    image.png

  6. 访问DocuSign API:使用获取的访问令牌,您现在可以安全地访问DocuSign API了。

结论
通过在DocuSign中实现PKCE,您可以显著提高基于OAuth的认证流程的安全性。这对于保护敏感数据和维护客户信任至关重要,尤其是在处理法律文件和合同时。

上海甫连信息技术有限公司

DocuSign | Okta | Yubikey | SentinelOne | BlackBerry | Cylance | Varonis | Onfido
长图.png

目录
相关文章
|
6月前
|
存储 Java 关系型数据库
LDAP: error code 32 - No Such Object
`亲测可用,之前搜索了很多博客,啥样的都有,就是不介绍报错以及配置用处,根本不懂照抄那些配置是干啥的,稀里糊涂的按照博客搭完也跑不起来,因此记录这个。` `项目背景`:公司项目当前采用http协议+shiro+mysql的登录认证方式,而现在想支持ldap协议认证登录然后能够访问自己公司的项目网站。 `举例说明`:假设我们公司有自己的门户网站,现在我们收购了一家公司,他们数据库采用ldap存储用户数据,那么为了他们账户能登陆我们公司项目所以需要集成,而不是再把他们的账户重新在mysql再创建一遍,万一人家有1W个账户呢,不累死了且也不现实啊。
206 14
|
监控 开发工具
Zabbix自定义KEY报错ZBX_NOTSUPPORTED: Unsupported item key.
[root@zabbix bin]# ./zabbix_get -s 192.217.24.47 -k jump-server ZBX_NOTSUPPORTED: Unsupported item key.
9984 0
|
7月前
Error unprotecting the session cookie.The key {...} was not found in the key ring.
Error unprotecting the session cookie.The key {...} was not found in the key ring.
112 0
|
10月前
|
消息中间件 Java
connection error;reply-code=503;unknown exchange type ‘x-delayed-message‘
connection error;reply-code=503;unknown exchange type ‘x-delayed-message‘
163 0
|
小程序
【微信小程序登录错误】{"code":-1,"error":"ERR_GET_SESSION_KEY\n{\"errcode\":41004,\"errmsg\":\"appsecret missin
【微信小程序登录错误】{"code":-1,"error":"ERR_GET_SESSION_KEY\n{\"errcode\":41004,\"errmsg\":\"appsecret missin
1114 0
【微信小程序登录错误】{"code":-1,"error":"ERR_GET_SESSION_KEY\n{\"errcode\":41004,\"errmsg\":\"appsecret missin
|
人工智能 自然语言处理 小程序
cloud function service error code -501000, error message 找不到对应的FunctionName.; at cloud.callFunction
cloud function service error code -501000, error message 找不到对应的FunctionName.; at cloud.callFunction
118 0
|
Java
【Java异常】feign.FeignException: status 400 reading xxx#xxxx(String); content:
【Java异常】feign.FeignException: status 400 reading xxx#xxxx(String); content:
107 0
|
安全 应用服务中间件 测试技术
Tomcat、Invalid message received with signature、AjpMessage.processHeader Invalid message
Tomcat、Invalid message received with signature、AjpMessage.processHeader Invalid message
250 0
|
小程序
【微信小程序登录错误】"code":-1,"error":"ERR_GET_SESSION_KEY\n{\"code\":0,\"message\":\"\",\"codeDesc\":\"Succe
【微信小程序登录错误】"code":-1,"error":"ERR_GET_SESSION_KEY\n{\"code\":0,\"message\":\"\",\"codeDesc\":\"Succe
1034 0
【微信小程序登录错误】"code":-1,"error":"ERR_GET_SESSION_KEY\n{\"code\":0,\"message\":\"\",\"codeDesc\":\"Succe
|
小程序
【微信小程序登录错误】"ERR_GET_SESSION_KEY\n{\"errcode\":40013,\"errmsg\":\"invalid appid, hints:
【微信小程序登录错误】"ERR_GET_SESSION_KEY\n{\"errcode\":40013,\"errmsg\":\"invalid appid, hints:
886 0
【微信小程序登录错误】"ERR_GET_SESSION_KEY\n{\"errcode\":40013,\"errmsg\":\"invalid appid, hints: