Se você já possui uma base de assinantes as soluções da Maven podem se conectar e autenticar os assinantes através de webservices, não precisando duplicar as informações confidenciais dos seus usuários em nosso repositório. Essa integração é feita através do protocolo HTTP em webservices desenvolvidos com REST/JSON ou SOAP/XML.


Para isso temos 3 tipos de serviços, sendo 1 obrigatório e 2 opcionais,  que você precisa nos enviar.


Serviço 1 - Autenticação


A autenticação deve apenas dizer se o usuário tem ou não tem acesso, independente do nível de granularidade desse acesso. Se você possui vários títulos você pode criar 1 webservice para cada título ou 1 webservice único com o parâmetro identificando o título.


O que o webservice deve receber? 

  • Username 
  • Senha
  • Código/nome do título/revista (opcional)


O que o webservice deve retornar? Sugerimos um retorno em jSON no seguinte formato:


Para autenticação com sucesso: {"status":"OK", "userData":{"id":"id do usuario","nome":"João","cidade":"São Paulo" ,"token":"abc99999"}}

Para autenticação com erro: {"status":"ERROR", "message":"Usuário e /ou senha inválidos"}

  • Caso a sua aplicação seja multi-idiomas você pode entregar códigos de retorno e nos enviar o mapa de códigos e mensagens que devem ser exibidas.
  • Caso você precise executar validações de negócio dependendo dos dados a serem retornados, informe estas regras para a Maven para que possamos viabilizar a integração.


Serviço 2 - Autorização (opcional)


A autorização deve informar quais recursos de conteúdo determinado usuário, que logou com sucesso anteriormente, pode acessar. Se esse serviço não for fornecido então consideramos que ele possui acesso à todo o conteúdo do local onde ele se autenticou com sucesso.


Exemplos de usos: 

  • Editora possui 5 títulos e cada um possui 500 edições. O assinante possui acesso apenas à 2 títulos e apenas em algumas ediçoes.
  • Jornal possui 120 anos de história de edições. Assinante só deve visualizar edições anteriores à sua data de assinatura.


O que o webservice deve receber?

  • Username do usuário OU
  • ID do usuário OU
  • Token do login (se fornecido o atributo token no serviço de autenticação
  • Código/nome do título/revista (opcional)


O que o webservice deve retornar? 


Depende da regra de negócio que você vai precisar aplicar. Normalmente o serviço retorna uma lista de edições em plaintext como:  100,101,102,103,104,105 que funciona perfeitamente bem em revistas. Mas no caso de jornais que possuem um acervo muito grande o retorno pode consumir muitos recursos de rede e processamento, então nesses casos recomendamos usar alguma expressão regular a ser validada ou alguma regra por datas, como "01012017-01012018"  indicando a data inicial e final ou faixas com "01012017-03032017-06082017-12-12-2018"


Serviço 3 - Validação da manutenção do login (opcional)


Quando o usuário realiza um login na web, a sua sessão permanece ativa durante o tempo especificado e navegação no browser. Mas quando o login é no aplicativo, não existe sessão no browser, então precisamos de outros mecanismos para validar se o usuário logado  ainda permanece com os mesmos direitos de acesso. 


Esse serviço só é necessário se o serviço 2 não for entregue pois o serviço 2 (Autorização) já realiza essa validação e caso o usuário não tenha mais direitos o serviço irá indicar isso. Mas no caso de não existir o serviço 2 precisamos saber quando desconectar a sessão do usuário logado no serviço 1, caso contrário ele ficará eternamente logado. 


Esse serviço pode receber um ID ou token do usuário e retornar simplesmente um texto indicando: ATIVO ou INATIVO.