Реализация потока учетных данных клиента OAuth 2.0 для доступа к Didit API на Python (RU)
Освоение аутентификации API имеет решающее значение для безопасной и эффективной интеграции. Это руководство подробно описывает реализацию потока учетных данных клиента OAuth 2.

Безопасный доступ к APIРеализация потока учетных данных клиента OAuth 2.0 необходима для обеспечения безопасности связи между серверами с Didit API, защиты конфиденциальных данных проверки личности.
Руководство по реализации на PythonЭта статья содержит пошаговое руководство на Python, включая примеры кода, для получения и обновления токенов доступа для вызовов Didit API.
Понимание ограничения скоростиУзнайте, как политики ограничения скорости Didit защищают стабильность API и как применять лучшие практики, такие как экспоненциальная задержка, чтобы избежать перебоев в обслуживании.
Подход Didit, ориентированный на разработчиковDidit предлагает по-настоящему ориентированный на разработчиков опыт с программной регистрацией, чистыми API и всеобъемлющей документацией, что делает интеграцию простой и эффективной.
Понимание потока учетных данных клиента OAuth 2.0 для доступа к API
В мире интеграции API безопасность имеет первостепенное значение. Когда вашему приложению необходимо получить доступ к API службы напрямую, без участия пользователя, поток учетных данных клиента OAuth 2.0 является стандартным отраслевым методом для безопасной аутентификации. Этот поток идеально подходит для взаимодействия между серверами, фоновых служб или обмена данными между машинами, где нет конечного пользователя, который мог бы дать согласие на доступ к данным. Вместо этого само приложение аутентифицируется с использованием собственных учетных данных.
Для такой надежной платформы проверки личности, как Didit, обеспечение безопасности доступа к API является обязательным условием. Поток учетных данных клиента гарантирует, что только авторизованные приложения могут взаимодействовать с мощным набором служб идентификации Didit, таких как проверка личности, пассивная и активная проверка живости и проверка AML. Этот метод включает обмен идентификатором клиента и секретом клиента (или ключом API) на кратковременный токен доступа, который затем используется для авторизации последующих запросов API. Такое разделение обязанностей повышает безопасность, предотвращая прямое раскрытие долгосрочных учетных данных при каждом вызове API.
Начало работы с Didit: регистрация и получение учетных данных
Didit гордится тем, что является AI-нативной платформой идентификации, ориентированной на разработчиков. Это означает, что начало работы спроектировано максимально просто, даже для программного доступа. В отличие от многих платформ, требующих ручной регистрации через браузер, Didit позволяет регистрироваться и получать свои учетные данные всего за два вызова API.
Сначала вы инициируете процесс регистрации, обычно указывая адрес электронной почты. Затем Didit отправляет OTP (одноразовый пароль) на этот адрес электронной почты. Второй шаг — подтвердить этот адрес электронной почты с помощью кода OTP. После успешной проверки Didit автоматически создает для вас организацию и приложение по умолчанию, возвращая ваши токены доступа, идентификатор клиента и, что особенно важно, ваш api_key. Этот api_key служит вашим секретом клиента для потока учетных данных клиента и должен рассматриваться с максимальной конфиденциальностью.
В качестве альтернативы, если у вас уже есть организация и приложение, вы можете получить свои учетные данные напрямую с помощью Didit Auth API. Например, использование GET-запроса к /organizations/me/{org_id}/applications/{app_id}/ вернет client_id и api_key вашего приложения. Это упрощает процесс настройки, позволяя разработчикам быстро интегрировать и начать использовать модульные примитивы идентификации Didit.
Реализация потока учетных данных клиента OAuth 2.0 на Python
Теперь давайте углубимся в практическую реализацию получения токена доступа с использованием Python. Основная идея состоит в том, чтобы отправить POST-запрос к конечной точке токена Didit, предоставив свой идентификатор клиента и ключ API. Ответ будет содержать ваш токен доступа и время его истечения.
import requests
import os
# Replace with your actual client_id and api_key
CLIENT_ID = os.environ.get("DIDIT_CLIENT_ID")
API_KEY = os.environ.get("DIDIT_API_KEY") # This is your client_secret
TOKEN_URL = "https://apx.didit.me/auth/v2/oauth2/token"
def get_access_token():
headers = {
"Content-Type": "application/x-www-form-urlencoded"
}
data = {
"grant_type": "client_credentials",
"client_id": CLIENT_ID,
"client_secret": API_KEY
}
try:
response = requests.post(TOKEN_URL, headers=headers, data=data)
response.raise_for_status() # Raise an exception for HTTP errors
token_data = response.json()
return token_data.get("access_token"), token_data.get("expires_in")
except requests.exceptions.RequestException as e:
print(f"Error obtaining access token: {e}")
return None, None
access_token, expires_in = get_access_token()
if access_token:
print(f"Successfully obtained access token: {access_token[:30]}...")
print(f"Token expires in: {expires_in} seconds")
# Example of using the access token for a subsequent API call
# (replace with an actual Didit API endpoint and method)
# API_ENDPOINT = "https://apx.didit.me/api/v2/some-didit-service"
# auth_headers = {
# "Authorization": f"Bearer {access_token}"
# }
# try:
# api_response = requests.get(API_ENDPOINT, headers=auth_headers)
# api_response.raise_for_status()
# print("API call successful:", api_response.json())
# except requests.exceptions.RequestException as e:
# print(f"Error making API call: {e}")
Этот фрагмент Python демонстрирует, как выполнить необходимый POST-запрос. Не забудьте надежно хранить свои CLIENT_ID и API_KEY, в идеале используя переменные окружения, как показано в примере.
Управление токенами и соображения по ограничению скорости
Токены доступа обычно имеют короткий срок действия по соображениям безопасности. Крайне важно реализовать стратегию обновления токенов до истечения их срока действия. Обычно это включает хранение токена и времени его истечения, а затем запрос нового токена, когда текущий приближается к истечению срока действия. Поле expires_in Didit в ответе токена точно сообщает вам, как долго действителен токен, что позволяет вам создать надежную логику обновления.
Еще одним важным аспектом интеграции API является понимание и соблюдение ограничений скорости. Didit, как и любой хорошо спроектированный API, применяет ограничения скорости для поддержания стабильности и обеспечения справедливого использования. Например, Didit обычно разрешает 300 запросов в минуту на приложение как для конечных точек GET, так и для конечных точек записи/удаления. Для высоконагруженных операций, таких как создание сеанса (POST /v2/session/), могут быть специфические, более строгие ограничения (например, 600 запросов в минуту для рабочих процессов). Когда ваше приложение превышает эти ограничения, Didit вернет код состояния HTTP 429 Too Many Requests, а также полезные заголовки, такие как X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset (секунды эпохи), чтобы помочь вам в стратегии регулирования. Заголовок Retry-After особенно полезен для реализации экспоненциальной задержки, рекомендуемой стратегии для корректной обработки нарушений ограничения скорости.
Правильное управление токенами и соблюдение ограничений скорости гарантируют безопасность и надежность вашей интеграции с Didit, предотвращая ненужные перебои в обслуживании.
Как Didit помогает
Didit упрощает сложные задачи проверки личности с помощью своей AI-нативной платформы, ориентированной на разработчиков. Наша модульная архитектура позволяет вам подключать и использовать именно те проверки личности, которые вам нужны, от комплексной проверки личности (включая OCR, MRZ и штрих-коды) и расширенного пассивного и активного обнаружения живости для предотвращения дипфейков, до сопоставления лиц 1:1 и поиска лиц для биометрической аутентификации, а также надежного скрининга и мониторинга AML для соблюдения требований. Наши продукты Proof of Address, Age Estimation (с сохранением конфиденциальности) и Phone & Email Verification еще больше расширяют ваши возможности по созданию индивидуальных рабочих процессов проверки.
Didit выделяется тем, что предлагает бесплатный основной KYC, исключая плату за установку, и предоставляя мощную бизнес-консоль без кода наряду с чистыми API для разработчиков. Такая гибкость означает, что вы можете легко интегрировать Didit в свои существующие системы, независимо от того, предпочитаете ли вы разработку на основе API или визуальный конструктор рабочих процессов. Наша приверженность структурированным данным идентификации и глобальному дизайну гарантирует, что ваши процессы проверки будут эффективными, масштабируемыми и соответствующими требованиям во всем мире. Программная регистрация и получение учетных данных, как подчеркивается в этом посте, являются лишь одним из примеров того, как Didit отдает приоритет беспрепятственному опыту разработчиков, позволяя вам сосредоточиться на создании, а не на преодолении сложных препятствий аутентификации.
Готовы начать?
Готовы увидеть Didit в действии? Получите бесплатную демонстрацию сегодня.
Начните бесплатно проверять личности с помощью бесплатного уровня Didit.