Fluxo OAuth 2.0 Client Credentials para Acesso à API Didit em Python (PT-BR)
Dominar a autenticação de API é crucial para uma integração segura e eficiente. Este guia detalha a implementação do Fluxo OAuth 2.0 Client Credentials para acessar as poderosas APIs de verificação de identidade da Didit usando.

Acesso Seguro à APIImplementar o Fluxo OAuth 2.0 Client Credentials é essencial para proteger a comunicação servidor-servidor com a API Didit, protegendo dados sensíveis de verificação de identidade.
Guia de Implementação em PythonEste artigo oferece um guia passo a passo em Python, incluindo exemplos de código, para obter e atualizar tokens de acesso para chamadas da API Didit.
Compreendendo o Limite de TaxaAprenda como as políticas de limite de taxa da Didit protegem a estabilidade da API e como implementar as melhores práticas, como o exponential backoff, para evitar interrupções no serviço.
A Abordagem Developer-First da DiditA Didit oferece uma experiência verdadeiramente developer-first com registro programático, APIs limpas e documentação abrangente, tornando a integração direta e eficiente.
Compreendendo o Fluxo OAuth 2.0 Client Credentials para Acesso à API
No mundo das integrações de API, a segurança é primordial. Quando seu aplicativo precisa acessar a API de um serviço diretamente, sem o envolvimento do usuário, o Fluxo OAuth 2.0 Client Credentials é o método padrão da indústria para autenticação segura. Este fluxo é ideal para interações servidor-servidor, serviços em segundo plano ou comunicação máquina a máquina onde não há um usuário final para consentir com o acesso aos dados. Em vez disso, o próprio aplicativo é autenticado usando suas próprias credenciais.
Para uma plataforma robusta de verificação de identidade como a Didit, garantir o acesso à API é inegociável. O Fluxo Client Credentials garante que apenas aplicativos autorizados possam interagir com o poderoso conjunto de serviços de identidade da Didit, como Verificação de ID, Liveness Passivo e Ativo, e Triagem AML. Este método envolve a troca de um ID de cliente e um segredo de cliente (ou chave de API) por um token de acesso de curta duração, que é então usado para autorizar as solicitações de API subsequentes. Essa separação de preocupações aumenta a segurança, impedindo a exposição direta de credenciais de longa duração em cada chamada de API.
Começando com a Didit: Registro e Recuperação de Credenciais
A Didit se orgulha de ser uma plataforma de identidade nativa de IA e com foco no desenvolvedor. Isso significa que o início é projetado para ser o mais contínuo possível, mesmo para acesso programático. Ao contrário de muitas plataformas que exigem registro manual baseado em navegador, a Didit permite que você se registre e recupere suas credenciais com apenas duas chamadas de API.
Primeiro, você inicia o processo de registro, normalmente fornecendo um e-mail. A Didit então envia uma OTP (One-Time Password) para esse e-mail. A segunda etapa é verificar este e-mail com o código OTP. Após a verificação bem-sucedida, a Didit cria automaticamente uma organização e um aplicativo padrão para você, retornando seus tokens de acesso, ID de cliente e, crucialmente, sua api_key. Esta api_key serve como seu segredo de cliente para o Fluxo Client Credentials e deve ser tratada com a máxima confidencialidade.
Alternativamente, se você já tem uma organização e um aplicativo, pode recuperar suas credenciais diretamente usando a Didit Auth API. Por exemplo, usando uma solicitação GET para /organizations/me/{org_id}/applications/{app_id}/, você obterá o client_id e a api_key do seu aplicativo. Isso simplifica o processo de configuração, permitindo que os desenvolvedores integrem e comecem a utilizar os primitivos de identidade modulares da Didit rapidamente.
Implementando o Fluxo OAuth 2.0 Client Credentials em Python
Agora, vamos mergulhar na implementação prática de obtenção de um token de acesso usando Python. A ideia principal é enviar uma solicitação POST para o endpoint de token da Didit, fornecendo seu ID de cliente e chave de API. A resposta conterá seu token de acesso e seu tempo de expiração.
import requests
import os
# Substitua pelo seu client_id e api_key reais
CLIENT_ID = os.environ.get("DIDIT_CLIENT_ID")
API_KEY = os.environ.get("DIDIT_API_KEY") # Este é o seu 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() # Lança uma exceção para erros HTTP
token_data = response.json()
return token_data.get("access_token"), token_data.get("expires_in")
except requests.exceptions.RequestException as e:
print(f"Erro ao obter token de acesso: {e}")
return None, None
access_token, expires_in = get_access_token()
if access_token:
print(f"Token de acesso obtido com sucesso: {access_token[:30]}...")
print(f"Token expira em: {expires_in} segundos")
# Exemplo de uso do token de acesso para uma chamada de API subsequente
# (substitua por um endpoint e método de API Didit reais)
# 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("Chamada de API bem-sucedida:", api_response.json())
# except requests.exceptions.RequestException as e:
# print(f"Erro ao fazer chamada de API: {e}")
Este trecho de Python demonstra como fazer a solicitação POST necessária. Lembre-se de armazenar seu CLIENT_ID e API_KEY de forma segura, idealmente usando variáveis de ambiente, como mostrado no exemplo.
Gerenciamento de Tokens e Considerações sobre Limite de Taxa
Tokens de acesso geralmente têm vida curta por razões de segurança. É crucial implementar uma estratégia para atualizar tokens antes que eles expirem. Isso geralmente envolve armazenar o token e seu tempo de expiração e, em seguida, solicitar um novo token quando o atual estiver próximo de expirar. O campo expires_in da Didit na resposta do token informa exatamente por quanto tempo o token é válido, permitindo que você construa uma lógica de atualização robusta.
Outro aspecto crítico da integração de API é entender e respeitar os limites de taxa. A Didit, como qualquer API bem projetada, impõe limites de taxa para manter a estabilidade e garantir o uso justo. Por exemplo, a Didit geralmente permite 300 solicitações por minuto por aplicativo para endpoints GET e Write/Delete. Para operações de alto impacto, como criação de sessão (POST /v2/session/), pode haver limites específicos e mais restritivos (por exemplo, 600 rpm para fluxos de trabalho). Quando seu aplicativo excede esses limites, a Didit retornará um código de status HTTP 429 Too Many Requests, juntamente com cabeçalhos úteis como X-RateLimit-Limit, X-RateLimit-Remaining e X-RateLimit-Reset (segundos de época) para guiar sua estratégia de limitação. O cabeçalho Retry-After é particularmente útil para implementar o exponential backoff, uma estratégia recomendada para lidar graciosamente com violações de limite de taxa.
A implementação de um gerenciamento de tokens adequado e a adesão aos limites de taxa garantem que sua integração com a Didit seja segura e confiável, evitando interrupções desnecessárias no serviço.
Como a Didit Ajuda
A Didit simplifica desafios complexos de verificação de identidade com sua plataforma nativa de IA e com foco no desenvolvedor. Nossa arquitetura modular permite que você "plug-and-play" as verificações de identidade exatas de que precisa, desde verificação de ID abrangente (incluindo OCR, MRZ e códigos de barras) e detecção avançada de Liveness Passivo e Ativo para evitar deepfakes, até Face Match 1:1 e Face Search para autenticação biométrica, e Triagem e Monitoramento AML robustos para conformidade. Nossos produtos de Comprovação de Endereço, Estimativa de Idade (com preservação da privacidade) e Verificação de Telefone e E-mail aprimoram ainda mais sua capacidade de construir fluxos de trabalho de verificação personalizados.
A Didit se destaca por oferecer Free Core KYC, eliminando taxas de configuração e fornecendo um Console de Negócios poderoso e sem código, juntamente com APIs limpas para desenvolvedores. Essa flexibilidade significa que você pode integrar a Didit em seus sistemas existentes com facilidade, seja preferindo o desenvolvimento orientado a API ou um construtor de fluxo de trabalho visual. Nosso compromisso com dados de identidade estruturados e design global garante que seus processos de verificação sejam eficientes, escaláveis e compatíveis em todo o mundo. O registro programático e a recuperação de credenciais, como destacado nesta postagem, são apenas um exemplo de como a Didit prioriza uma experiência de desenvolvedor perfeita, permitindo que você se concentre na construção, em vez de navegar por complexos obstáculos de autenticação.
Pronto para Começar?
Pronto para ver a Didit em ação? Obtenha uma demonstração gratuita hoje.
Comece a verificar identidades gratuitamente com o plano gratuito da Didit.