BirdID
  • Apresentação
  • Fluxo recomendado
    • Autenticação na API Pública
      • Descoberta
      • Autenticação (Password)
    • Autenticação no BirdID Pro
    • BirdID Pro - Assinatura Síncrona
  • Arquitetura da suíte de soluções
  • Nuvem Pública
    • Public API
      • Autenticação de usuários
        • OAuth2 - Authorization Code
        • OAuth2 - Password
        • QR Code e Push
      • Autenticação de aplicação
        • OAuth2 - Client Credentials
      • Uso de certificado
        • Assinatura digital
      • Auxiliares
        • Localização de usuário
        • Recuperação de certificado
      • Manutenção da aplicação
        • Cadastro de aplicação
        • Alteração de aplicação
        • Auto-cadastro de aplicação
  • BirdID Pro
    • Recursos
    • Arquitetura da plataforma
    • Instalação e configuração
    • API
      • Autenticação e Autorização
        • OAuth2 - Password
      • Preparação de documento(s)
      • Assinatura de documento(s)
      • Validação de integridade do documento
      • Monitor & HealthCheck
      • Informações do certificado
      • Integração S3
      • Integração GCP Storage
      • Integração FTP (File Transfer Protocol)
      • Licença
      • Juntar assinatura
    • Monitoramento
    • Dúvidas frequentes
    • Licença
  • CEAS
    • Arquitetura da plataforma
    • Recursos
    • API
      • Autenticação de usuários
        • OAuth2 - Authorization Code
        • OAuth2 - Password
      • Informações do certificado
      • Monitor & HealthCheck
    • Console
      • Auto registro da aplicação
    • Instalação e configuração
  • Middleware
    • Assistente Utilitário
      • Console
        • Aplicação
        • Usuários
        • Usuário selecionado
      • API
        • Aplicação
        • Usuários
        • Usuário selecionado
    • PKCS#11
    • CSP (Microsoft Crypto API)
    • Engine OpenSSL
    • JCA/JCE
  • Códigos de Retorno
  • Emissão Online
    • API
      • Autenticação / Login
      • Emissão
      • Dados da AR
  • Gateway ACT
    • Carimbo
    • Assinatura + Carimbo
    • Assinatura + Carimbo em Lote
  • Wings
    • Autenticação
      • Autenticação de Usuário
      • Definir Corporação
      • Credenciais de cliente externo
    • Corporativo
      • Consultar Usuários
      • Alterar Usuário
      • Cadastrar Assinante PJ
      • Alterar Usuário em Lote
    • Usuário Varejo
      • Alteração Tipo Usuário Varejo
      • Obter dados do Usuário
      • Consulta de crédito
Powered by GitBook
On this page
  • Fluxograma
  • Ambientes
  • API
  • Início da autenticação
  • Envio de notificação
  • Callback de autenticação
  • Obtenção do token de acesso

Was this helpful?

  1. Nuvem Pública
  2. Public API
  3. Autenticação de usuários

QR Code e Push

Essa sessão destina-se a documentar a inegração dos métodos de autenticação por QR Code e notificação push.

PreviousOAuth2 - PasswordNextAutenticação de aplicação

Last updated 19 days ago

Was this helpful?

Fluxograma

Esse método de autenticação segue o seguinte esquema:

Ambientes

API

Início da autenticação

POST {{BASE_URL}}/oauth/start

Headers

Name
Type
Description

Content-Type

string

application/json

Request Body

Name
Type
Description

client_id

string

Deve ter a identificação da aplicação.

client_secret

string

Deve ter a senha da aplicação

username (opcional)

string

Identificação do usuário por meio de CPF ou CNPJ.

scope

string

lifetime

integer

Tempo de vida desejado para o token a ser gerado em segundos. Para pessoas físicas não deve ultrapassar (7 dias), e para pessoas jurídicas este limite será de (30 dias)

curl --location '{{BASE_URL}}/oauth/start' \
--header 'Content-Type: application/json' \
--data '{
    "client_id":"myclient",
    "client_secret":"mysecret",
    "scope":"authentication_session",
    "callback_url": "https://minha-aplicacao.com.br/auth/callback",
    "lifetime": 36000
}'

Response Body

Name
Type
Description

challenge

string

Desafio a ser informado no app no caso de notificação push

client_name

string

Nome aplicação do client_id informado

short_token

string

Token de identificação do fluxo de autenticação

ws_token

string

Token para conexão no websocket. Só é criado caso a aplicação possua permissão.

can_notify

boolean

Informa se a aplicação possui permissão para enviar notificação push.

notified

boolean

Informa se a aplicação conseguiu notificar o usuário via push. Só retorna verdadeiro caso o username tenha sido informado e a aplicação possua permissão para enviar notificação push.

qr_code

string

Código que permite a aplicação que está integrando gerar o qr code.

environment

string

Identificador do ambiente em que foi realizada a autenticação.

auth_ttl

integer

Tempo de vida em segundos do processo de autenticação.

{
    "challenge": "06",
    "client_name": "Minha Aplicacao",
    "short_token": "68113334cb92acb46b91b8a3",
    "ws_token": null,
    "notified": false,
    "can_notify": false,
    "qr_code": "birdid://auth-request/68113334cb92acb46b91b8a3?env=vault_dev",
    "envionment": "vault_dev",
    "auth_ttl": 300
}

Envio de notificação

Por padrão, as aplicações não possuem permissão para enviar notificação. Essa permissão deve ser solicitada junto ao comercial da Soluti.

POST {{BASE_URL}}/oauth/notify

Headers

Name
Type
Description

Content-Type

string

application/json

Request Body

Name
Type
Description

username

string

Identificação do usuário por meio de CPF ou CNPJ.

short_token

string

Propriedade recebida da chamada /oauth/start

curl --location '{{BASE_URL}}/oauth/notify' \
--header 'Content-Type: application/json' \
--data '{
    "username": "64733822312",
    "short_token":"68113334cb92acb46b91b8a3"
}'

Response Body

Name
Type
Description

challenge

string

Desafio a ser informado no app no caso de notificação push

client_name

string

Nome aplicação do client_id informado

short_token

string

Token de identificação do fluxo de autenticação

ws_token

string

Token para conexão no websocket. Só é criado caso a aplicação possua permissão.

notified

boolean

Informa se a aplicação conseguiu notificar o usuário via push. Só retorna verdadeiro caso o username tenha sido informado e a aplicação possua permissão para enviar notificação push.

qr_code

string

Código que permite a aplicação que está integrando gerar o qr code.

callback_url

string

URL que será chamada assim que o usuário confirmar a autenticação.

{
    "challenge": "06",
    "client_name": "Minha Aplicacao",
    "short_token": "68113677cb92acb46b91b8a4",
    "ws_token": null,
    "notified": true,
    "qr_code": "birdid://auth-request/68113677cb92acb46b91b8a4?env=vault_dev"
}

Callback de autenticação

Assim que o usuário autoriza a autenticação no app, o sistema notifica a aplicação integrada via webhook, fornecendo um token temporário JWT para obtenção do token de acesso.

POST {{CALLBACK_URL}}

Headers

Name
Type
Description

Content-Type

string

application/json

curl --location '{{CALLBACK_URL}}' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data '{
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaG9ydFRva2VuIjoiNjgwYTljNzcxMGRiZDM3ODM0YmQ1NTYzIiwiaWF0IjoxNzQ1NTI1OTUwLCJleHAiOjE3NDU1MjYxODB9.DRqTYJzsvGdgz0EQlayv21RzsasYq-w3z350CNfJsVc",
    "short_token": "68113677cb92acb46b91b8a4"
}'

Request Body

Name
Type
Description

token

string

Token JWT que deverá ser utilizado para obtenção do token de acesso.

short_token

string

Token de identificação do fluxo de autenticação

Obtenção do token de acesso

GET {{BASE_URL}}/oauth/token

Headers

Name
Type
Description

Content-Type

string

application/json

Authorization

string

Bearer token

curl --location '{{BASE_URL}}/oauth/token' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer token'

Response Body

Name
Type
Description

access_token

string

Token de acesso aos serviços da Public API.

expires_in

integer

Tempo para expiração do access token.

token_type

string

Bearer.

scope

string

Escopo da autenticação.

username

string

Identificação do usuário por meio de CPF ou CNPJ.

{
    "access_token": "0c95bfe4d60a3c9f1ac66fade5111849950c4297",
    "expires_in": 36000,
    "token_type": "bearer",
    "scope": "authorization_session"
    "username": "64733822312"
}

Develop:

Homologação Bird:

Homologação Vault:

Produção Bird:

Produção Vault:

Escopo da autenticação. ()

https://portalapicloudid.dev.vaultid.com.br
https://portalapihom.birdid.com.br
https://portalapicloudid.hom.vaultid.com.br
https://portalapi.birdid.com.br
https://portalapicloudid.vaultid.com.br
ver lista de escopos