Создать и проверить код приглашения / токен - PullRequest
0 голосов
/ 29 октября 2019

Используя ASP.NET Core, я создаю систему для приглашения пользователей присоединиться к группе, получить бесплатные кредиты, ...

При приглашении пользователя присоединиться к группе я создаю приглашение, которое сохраняется вбаза данных:

Токен сохраняется в базе данных вместе с другой информацией:

Invitation invitation = new Invitation {
  InvitationType = "JoinGroup",
  Completed = false,
  Expiry = DateTime.Now.AddDays(4),
  Token = some_token,
  Parameters = new List<Parameter> { 
    new Parameter { Name = "GroupId", Value = 22 },
    new Parameter { Name = "RoleId", Value = "Admin" },
    new Parameter { Name = "Email", Value = "someuser@name.com" },
  }
}

Затем я отправляю электронное письмо с URL:

/invite?token=some_token

Когдапользователь получает доступ к URL-адресу, по которому я получаю запись с данным токеном.

С этой информацией я делаю все, что мне нужно, например, добавление пользователя в группу.

Вопрос

Как мне создать уникальный токен?

Какую информацию я должен включить в токен?

И какя должен подтвердить это?

1 Ответ

0 голосов
/ 29 октября 2019

ASP.NET Core Identity обеспечивает функциональность для генерации токенов для различных целей.

Используя UserManager, вы можете генерировать токены для нескольких целей.

Одним из доступных методов является UserManager.GenerateUserTokenAsync. (TUser, String, String).

Проверить токен можно с помощью метода UserManager.VerifyUserTokenAsync (TUser, String, String, String).

Ссылка на документацию

Вот ссылка, которая поможет вам начать работу: Жетоны идентификации

...