Implementação Básica

Abaixo um exemplo básico em HTML com um modelo de implementação. Neste modelo observe que o retorno é um objeto com duas propriedades(auth, nonce). A propriedade 'auth' com o valor 'TRUE' serve como Flag de conferência do status do retorno, já a propriedade 'nonce' deve ser usada para recuperar os dados solicitados. Ao clicar no botão um QRCode deve aparecer em sua tela.


                

OMID Sintaxe

Como parâmetros para o 'OMID' temos 'CID', 'ENV', 'fields':

  • CID: ID do CLiente fornecida pela OriginalMy
  • ENV: Para teste: 'stag', para produção: 'prod'
  • fields: Campos solicitados ao usuário
    • birthday: Data de nascimento
    • blockchainid: Blockchain ID
    • email: E-Mail
    • name: Nome completo
    • namegov: Nome na receita federal
    • id: Identificador único no país (Ex: CPF para o Brasil)
    • mobile_imei: IMEI do celular
    • mobile_brand: Marca do celular
    • mobile_model: Modelo do celular
    • mobile_so: Sistema Operacional do celular
    • mobile_so_version: Versão do Sistema Operacional
    • mobile_screensize: Tamanho da tela do Celular
    • phone: Número do Celular
    • photo: Um 'nonce' para obter a foto do usuário
    • photodocument: Um 'nonce' para obter a foto do documento do usuário
    • photodocumentback: Um 'nonce' para obter a foto do verso documento do usuário
    • photoresidence: Um 'nonce' para obter a foto do comprovante de residência do usuário
    • latitude: Um 'nonce' para obter a foto do documento do usuário
    • longitude: Um 'nonce' para obter a foto do documento do usuário
  • OMID_KEY: Chave do OMID fornecida pela OriginalMy
  • CRYPTOGRAPHY_KEY: Chave de criptografia fornecida pela OriginalMy
  • IV: Chave de criptografia fornecida pela OriginalMy
  • Authorization: Chave de API fornecida pela OriginalMy
  • Token: Fornecido pela API de usuário


                

Preparando NONCE

As informações solicitadas em nosso exemplo são: 'name', 'blockchainid' e 'email'. O processamento da solicitação deve ser descriptografado pelo BACK-END da aplicação, assim evitando expor suas chaves de criptografia.

Abaixo enviamos uma requisição AJAX com o 'nonce' obtido no retorno da chamada ao objeto OMID.


                

Obtendo e descriptografando os dados

A linguagem de programação de sua aplicação deve ter suporte a UTF-8, Base64, Json e Decriptografia com Algoritmo 'aes256'.

O 'nonce' é enviado por meio de um requisição POST para nossa API. Essa requisição deve conter no HEADER a Autorização 'OMID_KEY' e no corpo o 'cid' e o 'nonce'. O resultado dessa requisição retorna os dados do usuário ofuscados por um algoritimo de criptografia.

O processo de descriptografar utiliza Cipher, com algoritimo 'aes256', mais a chave 'CRYPTOGRAPHY_KEY' e um 'IV'( ambus obitidos na OriginalMy ). A string de dados criptografada do usuário deve passar pelo processo de decode do Base64 com a entrada em UTF-8, sua saida é solicitada também em UTF-8 e o resultado deve ser uma string a ser parseada por JSON.

A partir desse resultado e de posse dessas informações você pode processar o cadastro do usuário e efetuar seu login.


                

                

                

Obtendo as Imagens

Com o 'nonce' da imagem obtida no processo de descriptografia, uma nova requisição é necessária para obter as imagens('photo' e 'photodocument'). Essa requisição deve ser enviada com o Header de Autorização comtento o 'OMID_KEY' e com os dados de 'CID' e 'Token'('nonce').