gpt4 book ai didi

delphi - DocuSign API - 如何在用户认证后获得回调响应?

转载 作者:行者123 更新时间:2023-12-02 00:06:59 37 4
gpt4 key购买 nike

我正在尝试实现 Implicit Grant REST API of DocuSign .我对用户登录后需要立即发生的事情感到困惑。这是一个独立的 native Windows 桌面应用程序,而不是 Web 服务或页面。

我打开了一个嵌入式浏览器窗口,导航到正确的 URI 进行登录,用户能够成功登录。我还有一个在此应用程序中运行的 HTTP 服务器,用于接收回调。事实上,回调确实有效,我确实收到了一个传入的 HTTP GET 命令。但是,此回调响应中没有任何可用的内容。没有特殊的标题、参数、正文,什么都没有。

在我尝试隐式授权 API 之前,我首先尝试了 JWT 授权方法,然后才意识到这不是正确的方法。但我的观点是,至少我在回调命令中有一个 code 参数。但是在转为使用 Implicit Grant 方法后,此响应为空。

根据文档:

After consent has been granted, the Authentication Service verifies that the client application is valid and has access to the requested scope. If so, it redirects the access token to the provided callback URI in a hash fragment.

The response contains the following hash fragment parameters:

.......

它甚至显示了一个示例响应:

http://localhost/#access_token=eyJ0eXAi.....9LyiFrUqvdw&expires_in=28800&token_type=bearer&state=a39fh23hnf23

但是,如前所述,我收到的回调响应没有什么值得注意的值(value)。它本质上只是空的。

我在这里错过了什么?完成身份验证过程并继续实际使用 API 的正确方法是什么?

注意:我使用的是 Delphi,因此 DocuSign 提供的示例均不兼容。

最佳答案

更新的答案当您没有将后端服务器作为身份验证流程的一部分时,请使用隐式授权。隐式授权适用于客户端 ID 的 secret /RSA 私钥无法保护的任何时候——任何时候应用程序架构中没有安全服务器。这包括移动应用程序(因为应用程序可以进行逆向工程、单页应用程序(React、Angular 等)和桌面/胖客户端应用程序(例如 Delphi 应用程序)。

我为我在 React 中编写的 DocuSign 应用程序使用隐式授权。

在您的例子中,您正在编写一个完全在桌面上运行的“胖客户端应用程序”。

由于 DocuSign 的 OAuth2 隐式授权流程符合标准,因此一个很好的起点是框架的示例,用于与其他 OAuth2 身份提供者进行身份验证。

对于 Delphi,请参阅其关于 Accessing Facebook API 的示例.虽然与 DocuSign 的隐式授权流程不完全相同,但已经足够接近了。特别要注意,当 response_type=token 被请求时,Facebook 如何在 URL 片段中返回访问 token (就像在 Delphi 示例中所做的那样)。

引自 Facebook authentication docs :

response_type = token. Response data is included as a URL fragment and contains an access token. Desktop apps must use this setting for response_type. This is most useful when the client will be handling the token.

[强调已添加]

底线:使用/修改使用 Facebook 进行身份验证的 Delphi 示例,因为 DocuSign 类似。如果无法正常工作,请引用 Facebook 身份验证示例向 Delphi 客户服务寻求帮助。

PS 一旦你解决了这个问题,请提供你自己的答案,包括你使用的代码——以帮助将来的其他人。谢谢!

关于delphi - DocuSign API - 如何在用户认证后获得回调响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60290142/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com