AspNetCore получает открытый ID пользователя Connect из профиля пользователя - PullRequest
0 голосов
/ 16 марта 2020

В настоящее время я работаю над приложением и выполняю аутентификацию первой стороны следующим образом:

  1. Пользовательские запросы Login Конечная точка с UserName и Password.
  2. Login конечная точка пересылает учетные данные в орган (IdentityServer4), используя поток Resource Owner. Он возвращает accessToken обратно пользователю.
  3. Пользователь использует accessToken в последующем запросе. Они также могут вызвать <authority>/connect/userinfo для профиля пользователя.

Однако я не уверен, как получить информацию о профиле пользователя при последующих запросах на серверной части. * ClaimsPrincipal имеет только базовые c претензии к конечному пользователю.

Я не могу позвонить <authority>/connect/userinfo (используя IdentityModel ), так как на сервере больше нет маркера необработанного доступа просто ClaimsPrincipal, который уже был извлечен выше в конвейере запросов.

Как получить дополнительную информацию о пользователе в бэкэнде. Я просто запрашиваю это сам? Что произойдет, если мне не принадлежат данные профиля (например, они вошли в систему с помощью Google?)

Кажется, что самый простой способ - просто запросить у власти информацию о предмете, но похоже, что Я подхожу к этому неправильно.

Как я могу получить профиль пользователя из бэкэнда, не имея доступа к необработанному accessToken?

...