Я установил Identity Server 3 с базой данных перезагрузки членства в качестве моего сервера авторизации и также разработал проект Web Api, к которому будет обращаться веб-приложение javascript.Identity Server 3 неявное предоставление, авторизация на основе ролей
Используя неявный поток, клиент может войти в систему и получить id_token и access_token. Теперь у меня есть несколько вопросов, на которые я также хотел бы получить некоторые подробные ответы:
Что такое функциональность id_token? Получив его, что я могу с ним сделать?
Роли пользователей хранятся в базе данных в виде претензий (например, ключевое значение «role», «admin»). Как выполнить авторизацию на основе ролей на этом этапе? Похоже, что id_token содержит эти утверждения, но access_token этого не делает. При отправке моего access_token в качестве носителя по моему запросу Api, как api знает, какие роли у пользователя-отправителя?
В контроллере Web API, я хочу, чтобы получить доступ к информации пользователя с помощью:
уага пользователя = User как ClaimsPrincipal;
Используя этот код, я ничего не могу получить о пользователе; имя пользователя, идентификатор и т. д. Также, когда я использую в контроллере user.Claims
, у меня нет доступа к претензиям, хранящимся в базе данных. Как есть два набора претензий: один в базе данных один в токене ?!
Любая дополнительная информация с благодарностью.