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

本文涉及的产品
应用实时监控服务-应用监控,每月50GB免费额度
性能测试 PTS,5000VUM额度
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
简介: 在使用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

目录
相关文章
|
监控 开发工具
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.
9963 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.
108 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‘
155 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
1027 0
【微信小程序登录错误】"code":-1,"error":"ERR_GET_SESSION_KEY\n{\"code\":0,\"message\":\"\",\"codeDesc\":\"Succe
|
关系型数据库 MySQL PHP
laravel5.5报错:1071 Specified key was too long; max key length is 767 bytes
laravel5.5报错:1071 Specified key was too long; max key length is 767 bytes
键盘各键对应的编码值(key code)
原文:键盘各键对应的编码值(key code) 来源:http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes在处理键按键事件,方便做对照。
1842 0
|
存储