Méthode de connexion ASP.NET Web API
Je suis désireux de construire un service web RESTful à l'aide de ASP.NET Web API que les développeurs tiers pourront utiliser pour accéder à mes données de l'application.
Dans Visual Studio, j'ai décidé de créer un nouveau ASP.NET projet. J'ai suivi ce tutoriel mais je choisir un autre modèle: l'API Web de modèle. J'utilise une base de données MySQL avec l'utilisateur standard rôle tables comme expliqué dans le tutoriel.
Le modèle viennent avec beaucoup de très intéressant méthodes pour enregistrer un nouvel utilisateur, mais il n'y est pas par défaut de demande de Connexion. J'ai écrit ce sans comprendre ce que je fais:
//POST api/Account/Login
[Route("Login")]
public IHttpActionResult Login(LoginBindingModel model)
{
ClaimsIdentity ci = new ClaimsIdentity();
//...
//...
Authentication.SignIn(ci);
return Ok();
}
J'ai lu beaucoup de choses au sujet de la sécurité, sans en trouver un bon exemple avec de la documentation expliquant comment il fonctionne. Elle semble être incroyablement difficile à mettre en œuvre une simple méthode de connexion à l'API Web.
Pourriez-vous m'expliquer pourquoi il n'existe pas de méthode de login dans ce modèle. Avez-vous un exemple de méthode de connexion. Et que dois-je renvoyé à l'application client d'authentifier la demande. Est-ce de travailler avec un jeton ?
source d'informationauteur Bastien Vandamme
Vous devez vous connecter pour publier un commentaire.
Généralement de ce que vous avez à faire est de mettre en œuvre la connexion logique dans la méthode, et de retourner un jeton qui sera ensuite validé sur chaque appel à votre api.
Vous pouvez lire ceci pour plus d'informations
http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/
Si vous allez construire une API pour les développeurs tiers, alors vous devez le fixer à l'aide d'OAuth 2.0 flux, j'ai écrit détaillée poste en tant que @dariogriffo vous qui implémente le propriétaire de la ressource mot de passe des informations d'identification de l'écoulement qui bon pour votre cas.
Vous n'avez pas besoin de créer un point de fin de la connexion, vous allez configurer l'API à l'aide de Owin moyen-marchandises à la question OAuth porteur des jetons pour les utilisateurs lors de l'appel d'un point de fin, tels que "/jeton", et alors les utilisateurs à garder à l'envoi de ce jeton avec chaque requête en Autorisation d'en-tête. En savoir plus sur ce jeton d'authentification basée sur les.
Si vous avez créé un nouveau
ASP.NET Web Application
->Web API
-> Modifier l'Authentification ->Individual User Accounts
. Jetez un oeil àApp_Start
->Startup.Auth.cs
.Il devrait contenir quelque chose comme ceci:
Cela signifie que vous pouvez envoyer une demande pour un jeton d'accès, par exemple demander:
Vous pouvez ensuite vérifier que le jeton d'accès de travaux:
Avec ce jeton, vous pouvez maintenant accéder à toutes les ressources protégées que l'utilisateur a accès.