Quantcast
Channel: Preguntas activas con las etiquetas identity - Stack Overflow en español
Viewing all articles
Browse latest Browse all 58

Error invalid token

$
0
0

Hola amigos espero puedan ayudarme

Estoy generando mi propio metodo para crear usuarios mediante identity solo que al gnerar token cuando lo quiero validar me sale invalid token les muestro:

Idenditity.cs

public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context)         {            var manager = new ApplicationUserManager(new UserStore<ApplicationUser>(context.Get<ApplicationDbContext>()));            manager.UserValidator = new UserValidator<ApplicationUser>(manager)            {                AllowOnlyAlphanumericUserNames = false,                RequireUniqueEmail = true            };            manager.PasswordValidator = new PasswordValidator            {                RequiredLength = 6,                RequireNonLetterOrDigit = true,                RequireDigit = true,                RequireLowercase = true,                RequireUppercase = true,            };            manager.UserLockoutEnabledByDefault = true;            manager.DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5);            manager.MaxFailedAccessAttemptsBeforeLockout = 5;            manager.RegisterTwoFactorProvider("Código telefónico", new PhoneNumberTokenProvider<ApplicationUser>            {                MessageFormat = "Su código de seguridad es {0}"            });            manager.RegisterTwoFactorProvider("Código de correo electrónico", new EmailTokenProvider<ApplicationUser>            {                Subject = "Código de seguridad",                BodyFormat = "Su código de seguridad es {0}"            });            manager.EmailService = new EmailService();            manager.SmsService = new SmsService();            var dataProtectionProvider = options.DataProtectionProvider;            if (dataProtectionProvider != null)            {                manager.UserTokenProvider =                     new DataProtectorTokenProvider<ApplicationUser>(dataProtectionProvider.Create("ASP.NET Identity"));            }            return manager;        }

Metodo para crear usuario

public static ApplicationUser CreateUserASP(string email, string roleName, string password)    {        var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(userContext));        var userASP = new ApplicationUser        {            Email = email,            UserName = email,        };        var result = userManager.Create(userASP, password);        if (result.Succeeded)        {            userManager.AddToRole(userASP.Id, roleName);        }        var provider = new DpapiDataProtectionProvider("ApplicationName");        userManager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser>(provider.Create("ASP.NET Identity"));        string code = userManager.GenerateEmailConfirmationToken(userASP.Id);        var callbackUrl = "https://localhost:44390/Account/ConfirmEmail?userId="+ userASP.Id +"&code="+ code;        userManager.SendEmail(userASP.Id, "Confirmar cuenta", "Para confirmar la cuenta, haga clic <a href=\""+ callbackUrl +"\">aquí</a>");        return userASP;    }

Metodo para confirmar email

[AllowAnonymous]    public async Task<ActionResult> ConfirmEmail(string userId, string code)    {        if (userId == null || code == null)        {            return View("Error");        }        var result = await UserManager.ConfirmEmailAsync(userId, code);        return View(result.Succeeded ? "ConfirmEmail" : "Error");    }

Espero que puedan ayudarme.

Saludos


Viewing all articles
Browse latest Browse all 58

Latest Images





Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>
<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596344.js" async> </script>