TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
vijayaasri palaniappan
NA
117
8.9k
Web API Login using phone number or email id.
May 25 2021 6:10 AM
Hi,
I ant to login using email or phone number. I changed that but I got errors in ASPNetUsers Email, phonenumber and PasswordHash does not contain in definition of Email,Phonenumber and PasswordHash.Here is my code.
{
Entities dbObj = new Entities();
var identity = new ClaimsIdentity(context.Options.AuthenticationType);
string Email = context.OwinContext.Get<string>("Email");
string PhoneNumber = context.OwinContext.Get<string>("PhoneNumber");
var userManager = context.OwinContext.GetUserManager<ApplicationUserManager>();
if (Email != null)
{
var user = dbObj.AspNetUsers.Where(x => x.Email == Email).SingleOrDefault(); //Got the error here
if (user != null)
{
var psd = user.PasswordHash;
PasswordVerificationResult passresult = userManager.PasswordHasher.VerifyHashedPassword(user.PasswordHash, context.Password);
if (dbObj.AspNetUsers.Any(x => x.PasswordHash == psd) && passresult.ToString() == "Success") //here
{
identity.AddClaim(new Claim(ClaimTypes.Role, "admin"));
identity.AddClaim(new Claim("username", "admin"));
identity.AddClaim(new Claim(ClaimTypes.Name, "Hi Admin"));
context.Validated(identity);
}
}
else
{
context.SetError("invalid_grant", "Email and password is incorrect");
return;
}
}
else if (PhoneNumber != null)
{
var user = dbObj.AspNetUsers.Where(y => y.PhoneNumber == PhoneNumber).FirstOrDefault(); //and here
if (user != null)
{
var psd = user.PasswordHash;
PasswordVerificationResult passresult = userManager.PasswordHasher.VerifyHashedPassword(user.PasswordHash, context.Password);
if (dbObj.AspNetUsers.Any(x => x.PasswordHash == psd) && passresult.ToString() == "Success")
{
identity.AddClaim(new Claim(ClaimTypes.Role, "user"));
identity.AddClaim(new Claim("username", "user"));
identity.AddClaim(new Claim(ClaimTypes.Name, "Hi User"));
context.Validated(identity);
}
Thanks in Advance.
Reply
Answers (
2
)
upload video on folder with compressed
Generate Random Password Including login username