Повторно использовать уже аутентифицированный клиент MVC в JavaScript - PullRequest
0 голосов
/ 11 мая 2018

У меня есть MVC-клиент с ядром .Net, который использует identityserver 4.

Методы, которые возвращают представление, защищены атрибутом authorize.

Но как вызвать веб-API (который является отдельным проектом, работающим по другому URL-адресу) с теми же аутентифицированными данными, которые есть у клиента MVC?

Или мне придется снова проходить аутентификацию, используя oidc javascript client?

Есть ли способ получить токен на предъявителя от уже аутентифицированного клиента MVC, чтобы авторизовать мой клиент JavaScript для доступа к веб-API?

1 Ответ

0 голосов
/ 13 мая 2018

Получите свой токен доступа в действии контроллера MVC и передайте его представлению действия в ViewBag или чем-либо еще, или даже получите его непосредственно в виде бритвы.

Вот пример: https://github.com/IdentityServer/IdentityServer4.Samples/tree/release/Clients/src/MvcHybrid

Обратите внимание на класс запуска, HomeController и это представление .

Запуск:

services.AddAuthentication(options => {...})
        .AddOpenIdConnect("oidc", options => {
            ...
            options.SaveTokens = true;
            ...
        }

Контроллер / вид:

var token = await HttpContext.GetTokenAsync("access_token");
// use token
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...