我有一個WebApi項目與Cors的身份驗證令牌和SendGrid的電子郵件。我需要創建一個方法來發送電子郵件給用戶,以便他可以確認帳戶,問題是,我總是發現使用IDENTITY,並且是我沒有使用的東西。我發現這tutorial和這one,我試圖「適應」我的代碼,但它幾乎不可能,因爲它全部與身份。如何使用無身份證的WebApi添加帳戶確認
這是我有什麼..
啓動類:
public void ConfigureAuth(IAppBuilder app)
{
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
// Ativar o método para gerar o OAuth Token
app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions()
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(300),
AllowInsecureHttp = true
});
}
而且我的供應商:
public override Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext c)
{
try
{
using (var context = new CegonhaContext())
{
var passValue = context.Users.Where(x => x.Email == c.UserName)
.Select(x => x.PasswordHash).FirstOrDefault();
var exist = Hashing.ValidatePassword(c.Password, passValue);
if (exist)
{
Claim claim = new Claim(ClaimTypes.Name, c.UserName);
Claim[] claims = new Claim[] { claim };
ClaimsIdentity claimsIdentity = new ClaimsIdentity(
claims, OAuthDefaults.AuthenticationType);
c.Validated(claimsIdentity);
}
return Task.FromResult<object>(null);
}
}
catch (Exception)
{
return Task.FromResult<object>(null);
}
}
我的型號表:
public partial class Users
{
[Key]
public int id_users { get; set; }
[StringLength(40)]
public string Email { get; set; }
public byte PhoneConfirmation { get; set; }
public string PasswordHash { get; set; }
public int LoginAttempt { get; set; }
[StringLength(10)]
public string UserProvider { get; set; }
public DateTime? Datepost { get; set; }
public int? EmailConfirmd { get; set; }
//public string Timepost { get; set; }
public int? id_users_data { get; set; }
public virtual Users_data Users_data { get; set; }
}
但我不知道如何實施nt電子郵件確認。
謝謝,我設法創造了這樣的東西。 –