Utilizando Credenciamento nas Integrações

Para utilizar a funcionalidade que precisa do credenciamento, é necessário configurar tanto a “action” quanto o mapeamento que será utilizado por ela.

  1. Configure o endpoint com o tipo de credenciamento desejado. Ele deve ser único para todas as requisições.

{ ...
"authType": "KEY",
"authPath": "LOGIN",
...}
OU
{ ...
"authType": "PASSWORD",
"authPath": "LOGIN",
...}
OU
{ ...
"authType": "ACTION",
"authAction": {
"name": "open-search",
"path": "LOGIN",
"parameters": [
  {  "title":"initialSearchForm", "value": "identificado-do-form"}
]
},
...}
  1. Na tela desejada, crie a action configurando o “PERMISSIONLEVE=3”

...
"actions": [
              {
                "name": "open",
                "order": 0,
                "publishLevel": 1,
                "permissionLevel": 3,
                "path": "PACIENTES_PESQUISA",
                "parameters": [
                  {
                    "title": "querystring",   "value": "?pageNumber=1"
                  }
                ]
              }
            ]
  1. Crie o mapeamento de credenciamento no endpoint.

Crie este mapeamento na seção “userSecurity”

A depender do método de credenciamento configurado para o endpoint, você deve utilizar algumas palavras reservadas para informar à requisição a Key ou Usuário e Senha ou o campos do formulário dinâmico utilizado

Exemplo quando o método de credenciamento escolhido para o endpoint é KEY
"userSecurity": [
		{
			"identifier": "LOGIN",
			"description": "",
			"serviceConfiguration": {
				"protocol": "https",
				"url": "url-da-api/mobile/login",
				"content-type": "x-www-form-urlencoded",
				"method": "POST",
				"header": {
					"logInfo": "{{LOGINFO}}"
				},

				"body": {
					"chave_acesso": "{{USERNAME}}",
					“grant_type": "password",
					 ….
				},


				"integrationSecurity": {
					"enable": false,
					"userName": "",
					"password": ""
				}
			}
		}
	]
Exemplo quando o método de credenciamento escolhido para o endpoint é “Password”
"userSecurity": [
		{
			"identifier": "LOGIN",
			"description": "",
			"serviceConfiguration": {
				"protocol": "https",
				"url": "url-da-api/mobile/login",
				"content-type": "x-www-form-urlencoded",
				"method": "POST",
				"header": {
					"logInfo": "{{LOGINFO}}"
				},

				"body": {
					"username": "{{USERNAME}}",
					"password": "{{PASSWORD}}",											"grant_type": "password", 
 ….
				},


				"integrationSecurity": {
					"enable": false,
					"userName": "",
					"password": ""
				}
			}
		}
	]
Exemplo quando o método de credenciamento escolhido para o endpoint é “Action”
"userSecurity": [
		{
			"identifier": "LOGIN",
			"description": "",
			"serviceConfiguration": {
				"protocol": "https",
				"url": "url-da-api/mobile/login",
				"content-type": "x-www-form-urlencoded",
				"method": "POST",
				"header": {
					"logInfo": "{{LOGINFO}}"
				},

				"body": {
																		"grant_type": "password", 
“campos do form serão adicionados ao body de forma automática"
				},


				"integrationSecurity": {
					"enable": false,
					"userName": "",
					"password": ""
				}
			}
		}
	]

Faça com que a sua requisição de credenciamento retorne um json no seguinte padrão:

Retorno do serviço de integração com sucesso → 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":[..]	
}

Last updated