当前位置: 首页 > 知识库问答 >
问题:

DocuSign与jwt的服务集成身份验证

陶柏
2023-03-14

我想用jwt流实现DocuSign服务集成身份验证。

我已经生成了有效的jwt(在jwt.io上验证),并且我可以根据https://docs.docusign.com/esign/guide/authentication/oa2_jwt.html#requesting-访问令牌

我在这篇博文中发现:https://www.docusign.com/blog/dsdev-docusign-developers-look-inside-new-authentication-apis/,如果应用程序在系统中代表用户(我需要),子声明应该被省略:

sub:您请求令牌的主体的用户id。如果省略,将发出一个令牌来表示应用程序本身,而不是系统中的用户。必填项:否

但是在下一步“获取基本URI”中,声明

获取访问令牌后,您应该做的第一件事是使用/oauth/userinfoendpoint来获取用于访问DocuSign API的用户帐户和基本URI信息。

GET/oauth/userinfo授权:持有人eyJ0eX。。。AnHDQ0bbA

失败,状态代码401未经授权,响应正文详细信息:

{
    "error": "internal_server_error",
    "reference_id": "e051ca48-....f0f"
}

我还尝试调用Login(从身份验证Api-DocuSign。NetCore 1.1.0 nuget包),默认授权头包含如下访问令牌:

        Configuration.Default.DefaultHeader.Add("Authorization", string.Format("Bearer {0}", accessToken));
        AuthenticationApi authApi = new AuthenticationApi(Configuration.Default);            
        LoginInformation loginInfo = authApi.Login();

上面的代码只有当我使用OAuth2访问令牌,我可以直接从api资源管理器:https://apiexplorer.docusign.com/#/esign/restapi?categories=Authentication

文档标志。客户。调用登录时出错:{"错误代码":"USER_AUTHENTICATION_FAILED","消息":"用户名和密码中的一个或两个无效。无效的访问令牌”。

我错过了什么?

共有2个答案

法烨烨
2023-03-14

Ommittingsub尚未实施,这是一个尚未实施的未来状态。到目前为止,您始终需要在调用中传递sub,并且您只能为用户获取Accesstoken。这是一个博客链接,其中概述了新OAUTH将要实现的功能,但DS文档中提供了当前实现的功能

高建本
2023-03-14

正如Amit所说,你需要提供一个userID(guid格式)。事实上,您正在接收所需同意是个好消息:您就快到了。

您的用户可以单独授予同意,或者如果您启用了“组织管理”,您可以在组织级别授予全面同意。

查看我的视频或博客文章,了解如何单独授予同意。

 类似资料:
  • 我正在开发一个具有自己的身份验证和授权机制的REST应用程序。我想使用JSON Web Tokens进行身份验证。以下是有效且安全的实现吗? < li >将开发一个REST API来接受用户名和密码并进行认证。要使用的HTTP方法是POST,因此没有缓存。此外,在传输时还会有安全SSL < li >在认证时,将创建两个JWTs访问令牌和刷新令牌。刷新令牌将具有更长的有效期。这两个令牌都将写入coo

  • 在身份验证等情况下,与会话相比,使用JWTs有什么优势? 它是作为独立方法使用还是在会话中使用?

  • 我正在开发ASP NET核心Web API,对认证方式的选择感到困惑。我曾经应用默认的Asp Net身份验证,但最近我知道了JWT。因此,我几乎像本文中一样实现了身份验证:https://stormpath.com/blog/token-authentication-asp-net-core。但是我不能理解这个JWT的好处。通过简单的Asp Net身份认证,我不关心令牌存储等,我只需要用signI

  • 我目前正在使用定制的AuthenticationProvider实现将Key斗篷集成到一个相当复杂的spring boot应用程序环境中(因此我不使用Key斗篷AuthenticationProvider)。在我的例子中,我的目标是将OIDC身份验证协议与flow一起使用。 因此,当客户机导航到我的spring应用程序的登录页面时,他会被重定向到KeyClope登录页面。这已经奏效了。 在那里,一

  • 在auth-routes示例中,api和nuxt一起启动并使用一个Node.js服务器实例。但是,有时我们应该使用jsonWebToken处理外部api身份验证问题。在这个例子中,将用最简单的方式解释。 官方 auth-module 如果要实现复杂的身份验证流程,例如OAuth2,我们建议使用官方 auth-module 结构 由于Nuxt.js同时提供服务器和客户端呈现,并且浏览器的cookie

  • 我读了一些关于“JWT vs Cookie”的帖子,但它们只会让我更加困惑…… > 我想澄清一下,当人们谈论“基于令牌的身份验证与cookie”时,这里的cookie仅指会话cookie?我的理解是,cookie就像一个介质,它可以用来实现基于令牌的身份验证(在客户端存储可以识别登录用户的东西)或者基于会话的身份验证(在客户端存储与服务器端会话信息匹配的常量) 为什么我们需要JSON web令牌?