O X do Xamarin Forms — Autenticação NTLM no Xamarin

Image for post
Image for post

Fala Galera,

tudo beleza?

Esses dias precisei consumir um serviço REST na minha aplicação Xamarin.Forms. Ate ai acho que a maioria ja fez isso, então qual a dificuldade?

Ai começa a "Sorte de Bertuzzi" :

Se um cliente tiver uma forma fácil de fazer, ele vai fazer da mais difícil e você que se vire para resolver.

Pois bem o Rest do meu estimado cliente possui autenticação em "NTLM".

Mas o que é NTLM ?

Msdn diz :

A autenticação NTLM é uma família de protocolos de autenticação que são englobados no Windows Msv1_0.dll. Os protocolos de autenticação NTLM incluem LAN Manager versão 1 e 2 e NTLM versão 1 e 2. Os protocolos de autenticação NTLM autenticam usuários e computadores com base em um mecanismo de desafio/resposta que prova a um servidor ou controlador de domínio que um usuário sabe a senha associada a uma conta. Quando o protocolo NTLM é usado, um servidor de recursos deve tomar uma das seguintes ações para verificar a identidade de um computador ou usuário sempre que um novo token de acesso for necessário:

  • Entra em contato com um serviço de autenticação de domínio no controlador de domínio para o domínio da conta do computador ou do usuário, se a conta for uma conta de domínio.
  • Procura a conta do computador ou do usuário no banco de dados de contas locais, se a conta for uma conta local.

Clique aqui para saber mais

Em Resumo é uma autenticação do Windows onde você utiliza usuário e senha , geralmente vinculados a um Active Directory com Domínio.

Certo vamos ao que interessa:

Primeiro vamos baixar a Biblioteca Microsoft.Net.Http no seu projeto Portable:

Pronto agora você ja pode utilizar o namespace : using System.Net.Http.

Agora basta seguir o exemplo abaixo :

Uma Vez criado o NetworkCredential é só correr pro abraço!

Parece besta, mas perdi um tempo procurando.

Espero que ajude algum de vocês!

Aquele abraço!

Written by

Microsoft MVP,Gamer, Desenvolvedor e apaixonado por tecnologia!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store