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.
Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo