.NET Web Api UserManagerExtensions.ConfirmEmail - PullRequest
       9

.NET Web Api UserManagerExtensions.ConfirmEmail

0 голосов
/ 18 февраля 2019

Я пытаюсь передать userId и код / ​​токен, который я сгенерировал, когда пользователь подтверждает свою регистрацию по электронной почте.

Я довольно новичок в c # и не могу понять, как яможет передать эти значения в метод UserManagerExtensions.ConfirmEmail.

Вот мой текущий код:

public class EmailController : ApiController
{
    [HttpGet]
    [Route("ConfirmEmail")]
    public async Task<IHttpActionResult> ConfirmEmail(string userId, string code)
    {
        if (userId == null || code == null)
        {
            ModelState.AddModelError("", "User Id and Code are required");
            return BadRequest(ModelState);
        }

        IdentityResult result = await UserManagerExtensions.ConfirmEmail(userId, code);

        if (result.Succeeded)
        {
            return Ok();
        }
        else
        {
            return Conflict();
        }
    }
}

Мне не нравится, когда я передаю userId в виде строки!Любая помощь в этом была бы великолепна.

1 Ответ

0 голосов
/ 18 февраля 2019

Поскольку вы используете маршрутизацию атрибутов, вам нужно передать ее в URL;поэтому измените ваш маршрут следующим образом:

[HttpGet]
[Route("ConfirmEmail/{userId}/{code}")]
public async Task<IHttpActionResult> ConfirmEmail(string userId, string code)
{
}

Теперь ваш URL будет /Email/ConfirmEmail/userId/code.

...