我有一个奇怪的问题...我将新用户添加到我的系统中,然后他们会收到一个邀请,其中包含他们点击的链接以确认接受并设置密码。
我使用以下内容生成电子邮件中发送的令牌和URL:
string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
code = System.Web.HttpUtility.UrlEncode(code);
var callbackUrl = Url.Action("accept", "users", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
电子邮件很好,我点击了链接。在我的接受'页面我说:
code = System.Web.HttpUtility.UrlDecode(code);
var result = UserManager.ConfirmEmail(userId, code);
不幸的是,它总是在我的实时站点上失败(在Azure App Services上托管)。 Localhost似乎工作。 更奇怪的是,当我刷新现场时,接受'页面然后工作?!
有没有人遇到过这个?希望如此!
修改 深入研究这个问题我有两件事情要做:
var aspUser = await UserManager.FindByIdAsync(userId);