Bien, estoy un poco atascado en la forma de resolver este problema.ASP MVC: Verificación de correo electrónico (cifrar el enlace de activación)
Cuando un usuario se registra. Quiero enviarle un enlace para que pueda verificar su dirección de correo electrónico.
Pero tengo problemas para generar el enlace.
Ya he escrito el controlador para aceptar los enlaces con las claves correctas. solo no tengo idea de cómo generar las claves de activación.
Así, cuando el usuario se registra lo voy a enviar un enlace por correo así:
Your activation link is : http://site.com/user/verify?key=keyhere
Ahora he creado este método (llamado por el controlador/acción) para manejar la llave en el enlace:
public string Verify(string value)
{
String email = Decrypt(value);
user u = gebRep.GetUsers().WithEmail(email).SingleOrDefault();
if (u != null)
{
u.emailValid = true;
userReppository.Save();
}
return "Invallid validation value!";
}
Ahora mi problema es que no tengo idea de cómo cifrar y descifrar el correo electrónico en una especie de llave (URL amigable), así que puede enviarla por correo con el enlace y puede utilizarlo para comprobar el correo electrónico.
Necesito algún tipo de forma (no complicada pero segura) de encriptar el correo electrónico en una clave urlfriendly.
tyvm
este es el método más fácil en mi opinión –
Si he entendido bien, la versión de Nathan no necesita ahorrar para el usuario. Entonces me parece más simple agregar 2 funciones, que cambiar la base de datos. –