IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Owin Authentification toujours à false


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut Owin Authentification toujours à false
    Bonjours à tous,

    Sur un projet existant en MVC 5, j'ai configuré l'utilisation de l'authentification par Owin. L'utilisateur a le choix entre se connecter avec un compte applicatif (login/password) ou bien par des fournisseurs externes (Google+, LinkedIn).
    Pour ce qui est des connexions externes par de soucis, l'authentification se fait correctement, par contre pour l'authentification classique, tout ce déroule correctement, le SignIn via OwinContext se fait sans erreur mais quand j'inspecte la variable HttpContext.Current.GetOwinContext().Authentication.User.Identity.IsAuthenticated celle-ci est toujours à false et le cookie n'est pas créé, du coup sur le redirect en fin de l'action, je me retrouve à nouveau sur la page de login.

    J'ai créé un projet "from scratch" en suivant le tuto suivant : Owin et l'authentification se fait correctement. J'ai donc fait exactement pareil dans mon projet mais toujours le même résultat.

    Voici le code utilisé :

    Startup.cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var cookieOptions = new CookieAuthenticationOptions
    {
    	AuthenticationType = "ApplicationCookie",
    	LoginPath = new PathString(url.Action("Login", "Session", new { lang = "fr" })),
    };
     
    app.UseCookieAuthentication(cookieOptions);
    Login.cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    var claims = new List<Claim>();
     
    claims.Add(new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()));
    claims.Add(new Claim(ClaimTypes.Name, (user.DisplayName)));
    claims.Add(new Claim("LastName", user.LastName));
    claims.Add(new Claim("FirstName", user.FirstName));
    claims.Add(new Claim("Email", user.Email));
    claims.Add(new Claim("Avatar", user.Avatar));
    claims.Add(new Claim("Mode", "classic"));
     
    ClaimsIdentity identity = new ClaimsIdentity(claims, authenticationType);
     
    AuthenticationManager.SignIn(identity);
    Si quelqu'un à déjà rencontré le problème ou si vous avez une idée.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Difficile de te guider sans voir tout ton code. Est-ce que tu travailles bien sur un seul et unique OwinContext ? Ton cookie est-il créé ?
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut
    Merci pour ta réponse, mais en fait il s'agit d'un problème d'initialisation lorsque je viens pour ajouter des claims supplémentaires après que l'authentification soit effectué. Les claims n'était pas ajouté au bon endroit et lorsque l'utilisateur est redirigé après s'est authentifié, comme l'application est en "full authenticated", je vérifie que l'utilisateur est bien authentifié (OK) mais ensuite je viens lire les claims supplémentaires et comme elles ne sont pas ajoutées au bon endroit, le système considère que l'utilisateur n'est pas authentifié correctement, donc redirect sur le page de login.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ma nouvelle class retourne toujours false
    Par gtraxx dans le forum jQuery
    Réponses: 2
    Dernier message: 30/12/2008, 08h57
  2. Réponses: 0
    Dernier message: 18/11/2008, 21h25
  3. FileExists renvoie toujours False
    Par aldapal dans le forum VBScript
    Réponses: 3
    Dernier message: 28/03/2008, 21h50
  4. [XSLT]fonction contains retourne toujours false
    Par wildmary dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 01/08/2007, 11h22
  5. [VB.Net] isPostBack est toujours False
    Par graphicsxp dans le forum ASP.NET
    Réponses: 10
    Dernier message: 28/02/2006, 18h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo