Open sqlldev opened 2 years ago
I work in developer support at DocuSign, and as I recall our customers used to be confused by setting this up in demo, missing the step of setting the oauth host, and ending up with the oath request being sent to production. That is the why we raise an error now instead of setting a default value. I have posted a bug to cleanup the unexecuted code.
This bug is filed as [DCM-7258] Unexecuted Code in python API client.
There is an internal method that is still expecting this empty call to implicitly define the oauth server.
Silently defaulting to production is bad, but it can be fixed without discarding the convenience. The underlying problem with the original code was that the else
branch unconditionally used the production server. It could require the base path to match production to make it safe and convenient. If the base path is not defined, it should error. If the base path doesn't have a corresponding auth server, it should error also.
A slightly related topic: The way oauth_host_name
is required across ApiClient
methods is inconsistent.
request_jwt_user_token
request_jwt_application_token
get_user_info
None
if it wasn't set:
generate_access_token
get_authorization_uri
The first 2 methods that require the positional arg can't be fixed without a major version bump (or 2 depending up your deprecation policies). I'm not sure what the maintainers' stance will be on set-then-call, optional-kwarg, or required-arg, but I would recommend settling on one and make sure all the methods use that pattern in the next (few?) major release(s?). generate_access_token
has a bug and should validate the auth server in a patch.
https://github.com/docusign/docusign-esign-python-client/blob/330a500f29e91366766fb8def4947a28e4bcdff3/docusign_esign/client/api_client.py#L810
Correct me if I'm wrong, but this code will never execute. I would like to use this functionality :(
It's not a blocker or any critical bug, because I can pass oauth_host_name to ApiClient constructor. Just letting you know this code looks strange.