Unico IDCloud - DevCenter
Página inicialAutenticaçãoAPIsSDKs
Portuguese (Brazil)
Portuguese (Brazil)
  • Introdução
  • SOBRE O IDCLOUD
    • Unico IDCloud
    • Capacidades
    • Meios de Integração
    • Capacidades e Meios de Integração
  • INTEGRAÇÃO
    • Guia de início rápido
    • Autenticação
      • Criando uma Conta de Serviço
      • Preparando para fazer uma requisição autenticada à API
      • Recursos adicionais
        • Exemplo em Javascript
        • Erros de autenticação
        • Postman Collection
    • Integração by Unico
      • Visão Geral
      • API
        • API Reference
          • Criação do Processo
            • Criação de processos separados por flows
          • Consultar Resultado do Processo
          • Obter Selfie do Usuário
          • Obter Conjunto Probatório
            • Especificação do conjunto probatório
          • Obter Documento Assinado
          • Obter Conjunto Probatório do Documento Assinado
        • Erros
      • Controlando a experiência
        • Redirecionando o usuário
        • SDK
        • QR Code
        • Personalizações
      • Recursos adicionais
        • Postman Collection
        • PoCs disponíveis
    • Integração by Client
      • Visão Geral
      • API
        • API Reference
          • Prova de vida + Verificação de Identidade + Alerta de comportamento
          • Prova de vida + Verificação de Identidade + Alerta de comportamento + Score de risco
          • Prova de vida + Validação 1:1 + Alerta de comportamento
          • Reaproveitamento e captura de documentos
        • Cenários de response
        • Erros
        • Recursos adicionais
          • Postman Collection
      • Padrão de captura (sem SDK)
    • Webhook
    • SDK
      • Visão Geral
      • Política de atualizações
      • Integração SDKs
        • SDK Android
          • Guia de instalação
          • Guia de uso e integração
            • Captura de Selfie
            • Captura de documento
          • Guia de tratamento de erros
          • Personalização Android
          • Solução de problemas
          • Release notes
        • SDK iOS
          • Guia de instalação
          • Guia de uso e integração
            • Captura de Selfie
            • Captura de documento
          • Guia de tratamento de erros
          • Personalização iOS
          • Solução de problemas
          • Release notes
        • SDK Flutter
          • Guia de instalação
          • Guia de uso e integração
            • Captura de Selfie
            • Captura de documento
          • Guia de tratamento de erros
          • Personalização Flutter
          • Solução de problemas
          • Release notes
        • SDK Web
          • Guia de instalação
          • Guia de uso e integração
            • Captura de Selfie
            • Captura de documento
            • Acessibilidade
          • Guia de tratamento de erros
          • Personalização Web
          • Release notes
      • Recursos adicionais
        • PoCs disponíveis
        • Melhores práticas de implementação da SDK
  • help & faq
    • Glossário
    • FAQs
      • FAQ IDCloud
      • FAQ Autenticação
      • FAQ SDK
    • Central de ajuda
Fornecido por GitBook

Institucional

  • Sobre nós

Copyright © 2024 unico. All rights reserved

Nesta página

Isto foi útil?

Exportar como PDF
  1. INTEGRAÇÃO
  2. Autenticação
  3. Recursos adicionais

Exemplo em Javascript

Nesta seção, você encontrará um exemplo de implementação da autenticação da plataforma Unico IDCloud em Javascript


const fs = require('fs')
const path = require('path')
const jwt = require('jsonwebtoken')
const request = require('request')

// settings
const basePath = 'https://identityhomolog.acesso.io'

// entry point
let options = {
    serviceAccount: 'svcapp1',
    tenant: "9ea3c3bd-4447-4c3b-ae2e-504b795d3733"
}

requestAnAccessToken(createServiceAccountToken(options), (err, accessToken) => {
    let payload = jwt.decode(accessToken.access_token)
    console.log('Response:')
    console.log(' Access Token: ', accessToken.access_token)
    console.log(' ID: ', payload.jti)
    console.log(' Issuer: ', payload.iss)
    console.log(' Subject: ', payload.sub)
    console.log(' expires_in: ', accessToken.expires_in)
    console.log(' Expiration Date: ', new Date(payload.exp))
    console.log(' Creation Date: ', new Date(payload.iat))
})

// functions
function createServiceAccountToken({tenant, serviceAccount, account = ''}) {
    // Reads the service account private key
    let privateKey = fs.readFileSync(path.resolve(`${serviceAccount}.key.pem`))

    // Prepare the request
    let payload = {
        iss: `${serviceAccount}@${tenant}.iam.acesso.io`,
        aud: basePath,
        scope: '*',
        exp: Math.floor(Date.now() / 1000) + 3600,
        iat: Math.floor(Date.now() / 1000)
    }
    // Service account is requesting an access token for another user?
    if (account) {
        payload.sub = account
    }

    // Create JWS
    return jwt.sign(payload, privateKey, { algorithm: 'RS256' })
}

function requestAnAccessToken(serviceToken, callback) {
    // Prepare the request
    let options = {
        method: 'POST',
        url: `${basePath}/oauth2/token`,
        headers: {'content-type': 'application/x-www-form-urlencoded'},
        form: {
            grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer' ,
            assertion: serviceToken
        }
    }
    console.log('Requesting Access Token with self created token:' )
    console.log('', serviceToken)

    // Ask identity and authorization server for an access token
    request(options, (error, response, body) => {
        if (error) {
            callback(new Error(error))
        }

        body = JSON.parse(body)

        if (body.error) {
            callback(new Error(`${body.error}: ${body.error_description}`))
        }

        callback(null, body)
    })
}


AnteriorRecursos adicionaisPróximoErros de autenticação

Atualizado há 6 meses

Isto foi útil?

Dúvidas?

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da .

​
Central de Ajuda