我正在实施确认电子邮件功能。我正在向帐户中的激活链接发送用户激活电子邮件。我正在尝试当用户单击电子邮件中的链接时,它将把用户重定向到我的方法ConfirmEmail之一,该方法采用两个参数user,即加密的电子邮件和code。当我单击将调试器设置为该ConfirmEmail方法的链接时,它没有命中那里。
var htmlContent = "<h4>Click on the link below to confirm your<b> Hello World</b> account:</h4>"
+ "</br>"
+ "<a href=https://localhost:44372/api/User/ConfirmEmail?user=" + EncryptedEmail + "&code=" + code + ">Activate Account</a>";
ConfirmEmail方法:
[HttpGet]
public IActionResult ConfirmEmail(string user, string code)
{
//Do work here
return Ok();
}
电子邮件中的链接如下所示:
https:// localhost:44372 / api / User / ConfirmEmail?user = oBDULGKPcDaZoN89XcTtWnz%2f2m%2flFwfs&code = 7250
Startup.cs配置方法:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseHttpsRedirection();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
看起来这是一个API控制器,因此您需要将路由添加到端点。您可以通过将路由添加到Http动词属性来实现。有关属性路由的更多信息
[HttpGet("ConfirmEmail")]
public IActionResult ConfirmEmail(string user, string code)
{
}
这会将GET请求路由到/api/user/confirmemail
,而之前可能路由到/api/user
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句