簡體   English   中英

電子郵件確認ASP.NET Identity 2 OWIN MVC和API無效令牌

[英]Email Confirmation ASP.NET Identity 2 OWIN MVC and API Invalid Token

我正在嘗試使ASP.NET Identity 2.0可以用於電子郵件驗證。 用戶帳戶創建成功,並發送驗證電子郵件。

如果我在Web API控制器中驗證令牌,則它可以工作。 如果我在mvc控制器中驗證令牌,則不會驗證令牌,我不確定我錯了什么。

從MVC控制器返回的錯誤是“無效令牌”。api和mvc在不同的端口上運行,並且存在於單獨的程序集中。

這是相關部分的一些代碼片段。

//Startup.cs
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);

//ApplicationUserManager.cs

manager.EmailService = new EmailService();
var dataProtectionProvider = options.DataProtectionProvider;
manager.UserTokenProvider = new DataProtectorTokenProvider<ApplicationUser>(dataProtectionProvider.Create("ASP.NET Identity"));



//MVC Controller

public ApplicationUserManager UserManager
        {
            get { return this._userManager ?? this.HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>(); }
            private set { this._userManager = value; }
        }
...
UserManager.ConfimEmailAsync(userid,ConfirmationCode)


//Web API Controller
var result = this.UserManager.ConfirmEmail(model.UserId, model.ConfirmationToken);

這篇文章有幫助。 ASP.NET Identity 2-UserManager.ConfirmEmail在生產中失敗

為了解決這個問題,我為api和mvc項目將匹配的machineKey添加到web.config中。 電子郵件驗證開始工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM