Авторизация: IdentityServer4 и JavaScript (SPA)

Теория и практика | создано: 11.06.2020 | опубликовано: 11.06.2020 | обновлено: 13.01.2024 | просмотров: 2261

Настройка IdentityServer4 на работу с браузерными приложениями.

Ключевые понятия

#аутентификация, #авторизация, #authentication, #authorization, #AspNetCore, #basics, #explanation, #tutorial, #обучение, #roles, #роли, #разрешения, #claims, #permission, #EntityFramework, #NetCore, #OAuth2, #Bearer, #IdentityServer, #ClientCredentials, #refresh_token, #token_exprire, #swagger, #swaggerUI

О чем 

В этом ролике создадим новый проект, в котором будем использовать JavaScript. На этот раз это будет ASP.NET Core со статичными файлами (JavaScript + HTML). Реализуем вход и выход через IdentityServer4, который находится в другом проекте. Для реализации будет использован "old school" подход для разработки JavaScript-приложений.

[00:57] Постановка задачи для видео

[01:30 ] Знакомство с oidc-client для JavaScript

[02:58] Создание проекта для SPA на ASP.NET Core

[05:44] Подключение oidc-client.js

[07:16] Настройка нового js-клиента в IdentityServer4

[08:36] Создание разметки в Index.html и main.js (output метод). Кнопка Login: разметка и скрипты

[11:59] настройки клиента и UserManager.signinRedirect()

[24:06] Создаем страницу callback.html и обработчик callback.js

[32:21] Call API: Вызываем метод на другом сервесе.

[37:32] Побеждаем CORS!

[39:58] Кнопка Refresh: разметка и скрипты

46:50] Когда обновлять токен?

[49:46] Refresh token и IFrame

[50:36] Кнопка Logout: разметка и скрипты

[55:44] IdentityServer4 и localStorage

[58:18] Logout везде: addUserSignout()

[59:25] Интересное про check_session_iframe и 2 секунды

[61:30] Интересное про check_session_iframe и 2 секунды

Ссылки:

https://github.com/IdentityModel/oidc-client-js/ - oidc client для JavaScript-приложений или (браузерных-приложений) https://github.com/Calabonga/Authorization-Exercises - репозиторий с исходным кодом
https://openid.net/specs/openid-connect-core-1_0.html#Authentication - описание типов аутентификации
https://identityserver4.readthedocs.io/ - документация по IdentityServer4 (en)
https://github.com/IdentityModel/oidc-client-js/wiki - oidc-client для JavaScript
https://paypal.me/calabonga - Сказать спасибо

Видео