|
|
1
2
我不理解你问题中“暗示”的用法。下面是它的工作原理。如果您还有其他问题,请更新(编辑)您的原始问题。 当使用授权代码grant时,用户首先对docuSign进行身份验证。 然后,如果他以前没有这样做,他被要求同意整合。集成请求的权限是集成的 作用域 . 通常的范围是 签名 可能还有其他的。 在用户同意后,DocuSign授权服务会将用户的浏览器重定向回集成,并将授权代码作为查询参数。 然后,您的集成会对DocuSign进行OAuth调用,以交换访问令牌的授权代码。 接下来(通常),您的集成使用 OAuth::getUserInfo 方法从DocuSign获取用户名、电子邮件、授权DocuSign帐户等。 确保应用程序的用户是DocuSign用户您不能强制谁使用DocuSign进行身份验证。但是你可以检查一下是否是正确的人认证的。例如:
通过实现上述功能,您的应用程序可以保证当Mike登录到您的应用程序时,与DocuSign匹配的身份验证将是Mike的DocuSign用户帐户,而不是其他人的帐户。 与比较电子邮件地址不同,您也可以使用DocuSign用户ID。但是这样做需要您完成一个步骤,即将应用程序加载到一个表中,该表将Mike的帐户与其DocuSign用户ID相关联。电子邮件地址可能更容易。 回复:其他人在上一个会话后登录有两种情况: 同一台机器上的同一个浏览器这是“公共计算机问题”。 Mike使用浏览器“G”登录到你的应用程序和DocuSign。后来,玛丽坐到他的座位上,使用同一个浏览器和同一个应用程序。 默认情况下,DocuSign的OAuth身份验证代码grant启用静默身份验证。这意味着DocuSign身份验证流将静默地使Mary能够使用Mike的DocuSign会话(如果它仍然处于活动状态)。对于公共机器场景,这显然是不好的。解决:
同一应用上的不同用户你的应用程序应该使用会话。应用程序的每个用户(并行或顺序)将获得自己的会话。每个会话都应该维护自己的docuSign身份验证信息,包括当前用户的访问令牌、帐户ID和基URL。 所有这些信息都被确定为DocuSign过程认证的一部分。 如今,所有现代的Web应用程序框架都提供了易于使用的会话接口。 我们还有一些您可以使用的代码示例。 See this repository list. (路上还有更多。) |