Я использую Owin и Identity, и у меня проблема с претензиями.
У меня есть приложения, в которых пользователи используют электронную почту для аутентификации и другие, которые используют имя пользователя.
-
Метод знака на бизнес-уровне может принимать электронную почту или имя пользователя в зависимости от случая.
-
Чтобы "обфускать" идентификатор пользователя, я использую GUID, уникальный для каждого пользователя, при отображении страницы с информацией о пользователе.
Я также использую это, потому что иногда адрес электронной почты или имя пользователя может быть проблемой в URL-адресе...
Когда я подписываю пользователя, у меня есть следующие типы претензий:
new Claim(ClaimTypes.Email, user.Email),
new Claim(ClaimTypes.Name, user.FullName),
new Claim(ClaimTypes.GivenName, user.FirstName),
new Claim(ClaimTypes.Surname, user.LastName),
new Claim(ClaimTypes.NameIdentifier, user.UserUniqueIdentifier.ToString())
Поэтому моя интерпретация такова:
Email is the user email
Name is the user full name
GivenName is the user first name
Surname is the user last name
NameIdentifier is the user unique identifier ... It can be the email, the username or in this case I am using an Unique ID.
Странно, нет ли типа претензий для имени пользователя. Куда это поместить?
В принципе, кажется, что существует проблема, когда имя пользователя не используется как уникальный идентификатор имени, но оно по-прежнему необходимо.
Что-то не так с моими логическими типами претензий?