Docusign身份验证在哈希(#)之后切掉部分url

时间:2019-07-19 06:59:31

标签: angular redirect hash docusignapi

我有一个前端应用程序,其URL看起来像http://localhost:4200/#/dashboard->身份验证完成后,也应称为重定向URL。不幸的是,当应用程序重定向到DocuSign登录页面时,我注意到重定向URL中位于#之后的部分被截断了。是虫子吗?我该如何省略?

在DocuSign面板中,我将重定向URL设置为:http://localhost:4200/#/dashboard 我的URL重定向到DocuSign进行登录,如下所示: https://account-d.docusign.com/oauth/auth?response_type=code&scope=signature&client_id={integrator_key}&redirect_uri=http://localhost:4200/#/dashboard DocuSign构造的网址(包括重定向网址)如下所示: https://account-d.docusign.com/oauth/auth?response_type=code&scope=signature&client_id={integrator_key}&redirect_uri=http://localhost:4200/piggyagent#/username#之后的The provided customer ID is not registered in the DocuSign service.之后没有东西

2 个答案:

答案 0 :(得分:2)

根据oauth v2规范(在这里可以找到-https://www.oauth.com/oauth2-servers/redirect-uris/redirect-uri-registration/),这是不允许的,它说:“注册的重定向URL可能包含查询字符串参数,但片段中不得包含任何内容。注册服务器应拒绝如果开发人员尝试注册包含片段的重定向URL,则请求。”

您可以使用状态来传递信息,然后在代码的另一侧再次重定向。

答案 1 :(得分:1)

仅当应用程序包含可以保护client_id的密钥的后端服务器时,才可以使用授权码授予流程。因此,重定向URL不能包含片段。

如果没有后端服务器,则必须使用Implicit Grant flow。它使用网址的片段(#)部分将访问令牌返回给客户端(您的仅前端Angular应用)。