1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
# Authentication
This module provides functions to help authenticate with Todoist using the OAuth protocol.
## Quick start
```python
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](https://todoist.com/api/v1/docs#tag/Authorization/OAuth).
::: todoist_api_python.authentication
|