我试图为用户提供访问令牌,以便使用iOS SDK集成面对面签名。
我们的DocuSign用户设置为单点登录。我们有一个非SSO,API用户配置了apiAccountWideAccess和allowSendOnBehalfOf用户设置。
我为非SSO API用户请求访问令牌,如下所示:
POST /restapi/v2/oauth2/token HTTP/1.1
Host: demo.docusign.net
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
grant_type=password&client_id=<client_id>&scope=api&username=<useranme>&password=<password>
这导致以下响应:
{
"access_token": "<access-token>",
"token_type": "bearer",
"scope": "api"
}
然后,我使用上述响应中的访问令牌尝试获取SSO用户的访问令牌,如下所示:
POST /restapi/v2/oauth2/token HTTP/1.1
Host: demo.docusign.net
Authorization: Bearer <access-token-from-response-above>
Accept: application/json
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
grant_type=password&client_id=<client_id>&username=<email-address-of-sso-user>&password=&scope=api
这导致以下响应:
{
"errorCode": "UNSPECIFIED_ERROR",
"message": "Object reference not set to an instance of an object."
}
我关注文档here(获取其他帐户用户的access_tokens)。
是否可以代表SSO用户获取REST API的访问权限?
答案 0 :(得分:0)
很遗憾,您目前无法将API用作启用SSO的用户。
如果您需要将API用作SSO用户,则必须在SSO豁免列表中拥有该用户。
通常,集成使用Send On Behalf Of作为API用户(在免除列表中)进行身份验证,并代表启用了SSO的用户进行调用。
该错误并未表明实际问题,而且我已向DocuSign支持提交了一个错误,以便解决该部分问题。