BlackTDN Search

terça-feira, 17 de agosto de 2010

Protheus :: Autenticação WebService versão 3.0

Bem, acredito que com a versão 3.0 finalmente conclua os meus exemplos de autenticação para consumo de um método de WS no Protheus. Ela é uma evolução e variante das versões 1.0 e 2.0 anteriormente publicadas.
As mudanças significativas foram:
  1. Proteção do método GetMessage: que passou a ser uma função "protegida" (Static Function, sem acesso público);
  2. O método ValidUserWs, do WS u_wsUserValid, passou a receber como parâmetros de entrada: UserWs, UserWsPwd, CheckSum, HASHMD5UserAndPsw, Language e Embaralha; e como parâmetro de saída: Token. Agora, e diferente das versões anteriores, é esse método quem retorna as mensagens (token) para autenticação.
  3. Incluido o método IsAuthenticated no Ws u_wsUserValid que receberá como parâmetro de entrada o Token gerado pelo método ValidUserWs e retornará lAuthenticated como true, se usuário foi devidamente autenticado e, false, caso contrário.
  4. O método ClearStackMD5Hash, do Ws u_wsClearMessages, também foi modificado. Ele deixou de receber as informações de usuário e senha. Passando a ser autenticado apenas pelo Token gerado pela ValidUserWs.
  5. Todos os exemplos constantes no WS u_wsTstUserValid, usado para testar o método de validação, foram modificados para trabalharem com o novo conceito de autenticação.
  6. Toda a troca de mensagens entre o WsServer e Client, no que diz respeito à autenticação, passou a ser codificada via Encode64. Consultem o WS de exemplo, o u_wsTSTUserValid para maiores referências.

Bem, considerando que tudo o que escrevi para a versão 2.0 serve, também, para essa versão, excetuando-se as mudanças aqui apresentadas, e que, para um bom entendedor basta o código, serei breve nesse post.

E, como sempre, clique aqui para obter a versão 3.o do ws de autenticação.

Bom Proveito.

[]s

иαldσ dj

5 comentários:

  1. Olá amigos do BlackTDN, sou novo em advpl e estou desenvolvendo um webservice para integração com SAP.

    Minha Ws está rodando perfeita, mas agora eu preciso fazer autenticação via header no endereço do webserver. Como eu faço?

    Abs

    ResponderExcluir
    Respostas
    1. http://www.blacktdn.com.br/2012/03/blacktdn-autenticando-via-tsocketclient.html
      http://www.blacktdn.com.br/2012/03/blacktdn-autenticando-via-httpget.html

      Excluir
    2. Willian, provavelmente o que procura é a segunda opção.

      Excluir
    3. Maiores detalhes:

      http://tdn.totvs.com.br/display/tec/TSocketClient
      http://tdn.totvs.com.br/display/tec/HTTPGet

      Excluir
  2. Olá.

    Você teria algum tutorial sobre um Portal do Cliente, assim como tem o Portal do RH?

    Grata

    ResponderExcluir