Customizado - Credenciamento via Ação Configurada

Diferente dos dois últimos, este método não possui uma tela fixa de entrada de dados. Ela é baseada na configuração da ação de credenciamento a ser executada.

Esta ação tanto pode chamar diretamente um serviço de integração para credenciar o usuário de forma silenciosa (passando por exemplo os dados da conta do aplicativo) quanto pode abrir um formulário dinâmico para que o usuário informe mais dados e então os submeta ao serviço.

A depender do statuscode de retorno do serviço de integração será possível apresentar as informações de sucesso ou erro de diversas formas. O statuscode suportados no processo de credenciamento são:

  • 200: Exibe o resultado de sucesso dentro de uma templates

  • 202: Exibe o resultado de sucesso dentro de uma tela de mensagem

  • 206: Exibe o resultado de sucesso dentro de um toast (tag volátil de notificação interna do app)

  • 400: Exibe o resultado de erro dentro de uma tela de mensagem

  • 401: Exibe o resultado de falha na autenticação dentro de uma tela de mensagem

Exemplo de autenticação utilizando a abertura de um formulário:

  1. Configure o método de credenciamento do Endpoint

{ 
"authType": "action",
"authAction": {
"name": "open-search",
"path": "LOGIN",
"parameters": [
  {  "title":"initialSearchForm", 
     "value": "identificado-unico"}
]
}
  1. Crie um mapeamento de segurança do tipo “UserSecurity” dentro do endpoint

[
  {
    "identifier": "LOGIN",
    "serviceConfiguration": {
      "protocol": "https",
      "url": "api.cliente.br/Login",
      "method": "POST",
      "header": {
        ...
      },
      "body": {
        -campos do formulário - são informados no body de forma automática
      },
      "content-type":
      "x-www-form-urlencoded"
    }
  },
  {
    "identifier": "REFRESHTOKEN",
    "serviceConfiguration": {
      "protocol": "https",
      "url": "api.cliente.br/Login",
      "method": "POST",
      "header": {
       ...
      },
      "body": {
         -campos do formulário-
        "refresh_token": "[[REFRESHTOKEN]]"
      },
      "content-type": 
      "x-www-form-urlencoded"
    }
  }
]

Retorno do serviço de integração:

Statuscode:200 ou 202 ou 206

{
    "access_token": "TbeMM-iwSQEHQfKEHfpX...",
    "refresh_token": "AFeMM-iwSQEHQfKEHHJH...",
    "userId": "83e1c3df-fe12-41fc-a4ce-e37d6732cef3",
    "message": "Seu credenciamento foi realizado com sucesso",
    "actions":[..]	
}

Tela apresentada: Formulário de perguntas definido pelo cliente

Last updated