DocuSign.OAuth.AuthorizationCodeStrategy (DocuSign v2.2.3)
View SourceOAuth2 Authorization Code Flow strategy for DocuSign using the battle-tested oauth2 library.
This module implements the standard OAuth2 Authorization Code Flow for DocuSign, leveraging the existing OAuth2 library infrastructure used by the JWT impersonation flow.
Usage
# Create client
client = DocuSign.OAuth.AuthorizationCodeStrategy.client(
client_id: "your_integration_key",
client_secret: "your_secret",
redirect_uri: "https://yourapp.com/auth/docusign/callback"
)
# Generate authorization URL
auth_url = OAuth2.Client.authorize_url!(client, scope: "signature")
# Exchange authorization code for tokens
client = OAuth2.Client.get_token!(client, code: "auth_code_from_callback")
# Get DocuSign user info
user_info = DocuSign.OAuth.AuthorizationCodeStrategy.get_user_info!(client)
Configuration
config :docusign,
client_id: "your_integration_key",
client_secret: "your_secret_key",
hostname: "account-d.docusign.com" # or "account.docusign.com" for production
Summary
Functions
Create a new OAuth2 client for DocuSign Authorization Code Flow.
Get DocuSign user information using the access token.
Functions
@spec client(keyword()) :: OAuth2.Client.t()
Create a new OAuth2 client for DocuSign Authorization Code Flow.
Parameters
opts
- Keyword list of options::client_id
- DocuSign integration key (required if not in app config):client_secret
- DocuSign secret (required if not in app config):hostname
- DocuSign hostname (required if not in app config):redirect_uri
- Callback URL for authorization (required):scope
- OAuth scopes (default: "signature")
Examples
# With explicit configuration
client = DocuSign.OAuth.AuthorizationCodeStrategy.client(
client_id: "your_integration_key",
client_secret: "your_secret",
hostname: "account-d.docusign.com",
redirect_uri: "https://yourapp.com/auth/callback"
)
# Using application config
client = DocuSign.OAuth.AuthorizationCodeStrategy.client(
redirect_uri: "https://yourapp.com/auth/callback"
)
Returns
Returns an OAuth2.Client
struct configured for DocuSign Authorization Code Flow.
@spec get_user_info!(OAuth2.Client.t()) :: map()
Get DocuSign user information using the access token.
Parameters
client
- OAuth2.Client with valid access token
Examples
user_info = get_user_info!(client)
user_email = user_info["email"]
accounts = user_info["accounts"]
Returns
Returns user information map from DocuSign /oauth/userinfo endpoint.