Authentication
This module provides functions to help authenticate with Todoist using the OAuth protocol.
Quick start
import uuid
from todoist_api_python.authentication import get_access_token, get_authentication_url
# 1. Generate a random state
state = uuid.uuid4()
# 2. Get authorization url
url = get_authentication_url(
client_id="YOUR_CLIENT_ID",
scopes=["data:read", "task:add"],
state=uuid.uuid4()
)
# 3.Redirect user to url
# 4. Handle OAuth callback and get code
code = "CODE_YOU_OBTAINED"
# 5. Exchange code for access token
auth_result = get_access_token(
client_id="YOUR_CLIENT_ID",
client_secret="YOUR_CLIENT_SECRET",
code=code,
)
# 6. Ensure state is consistent, and done!
assert(auth_result.state == state)
access_token = auth_result.access_token
For detailed implementation steps and security considerations, refer to the Todoist OAuth documentation.
get_auth_token(client_id, client_secret, code, session=None)
Get access token using provided client ID, client secret, and auth code.
Source code in todoist_api_python/authentication.py
get_authentication_url(client_id, scopes, state)
Get authorization URL to initiate OAuth flow.
Source code in todoist_api_python/authentication.py
revoke_auth_token(client_id, client_secret, token, session=None)
Revoke an access token.