Login Restful - implementação apropriada
Novo para serviços RESTful, mas leia muito sobre o assunto. Implementando no VS2010 C #
Perguntas semelhantes (quase idênticas) foram feitas e respondidas aqui no stackoverflow, mas sinceramente não aprendi nada com as respostas.
Eu quero implementar uma chamada AuthenticatUser onde um nome de usuário e senha é enviado e uma chave de autenticação é retornada.
Dado que isso precisa ser feito com um GET, POST, PUT ou DELETE, parece que o GET seria o mais adequado.
Então, talvez GET mydomain / myservice / authenticate / {username} / {password}
Não gosto disso porque o nome de usuário e a senha são passados no URI, mas, pelo que entendi, não é uma boa ideia enviar um corpo em um GET. Portanto, um POST ou PUT funcionaria, mas isso parece divergir da filosofia RESTFul.
Pergunta 1: está certo enviar dados confidenciais, como senha, no URL? O site usará SSL.
Pergunta 2: Nos GETs quando há vários parâmetros sendo passados, parece que o conceito de URI ficaria um pouco louco, como as consultas complexas devem ser tratadas com RESTfully?
Pergunta 3: Qual é o método de autenticação preferido (normal, mais comum) em uma API RESTful?