IdentityServer4 — система единого авторизации и аутентификации
В процессе изучения систем авторизации и аутентификации была обнаружена платформа IdentityServer4. Большинство официальных примеров основано на локальной или встроенной конфигурации. Не существует полноценного интерфейса администратора. На GitHub есть несколько отличных административных систем, но большинство из них разработано с использованием MPA. Поэтому на основе .NET5 и Vue была разработана эта система управления авторизацией.
Документация находится в стадии разработки.
...
Последние функции разрабатываются в ветке IdentityServer4_v4.0. Для просмотра перейдите в эту ветку.
git checkout IdentityServer4_v4.0
Восстановление:
//package.json файл находится в каталоге проекта.
//Можно настроить сохранение и восстановление пакетов в меню «Инструменты» > «Параметры» > «Управление пакетами в Интернете» > «Восстановление пакетов». VS автоматически загрузит указанную версию.
{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"dependencies": {
"bootstrap": "4.6.0",
"jquery": "3.6.0"
},
"devDependencies": {
"gulp": "^4.0.2",
"gulp-watch": "5.0.1",
"gulp-concat": "2.6.1",
"gulp-clean-css": "^4.2.0",
"gulp-concat-css": "^3.1.0",
"gulp-less": "^4.0.1",
"gulp-rename": "^2.0.0",
"gulp-sourcemaps": "^2.6.5",
"gulp-uglify": "^3.0.2",
"del": "6.0.0"
}
}
Перенос данных: ORM реализован с использованием EF. В настоящее время поддерживается SQL Server и MySQL. Обратите внимание: перед удалением существующей базы данных необходимо удалить уже созданные файлы миграции в папке Migrations. Или обновить существующие файлы Migration один за другим. Перенос базы данных:
#sqlserver по умолчанию выбирает проект (WQLIdentity.Infra.Data)
Add-Migration InitialCreate -Context CustomConfigurationDbContext -OutputDir Migrations\Configuration\SqlServer
Add-Migration InitialCreate -Context CustomPersistedGrantDbContext -OutputDir Migrations\PersistedGrant\SqlServer
Add-Migration InitialCreate -Context ApplicationDbContext -OutputDir Migrations\Application\SqlServer
#mysql по умолчанию выбирает проект (WQLIdentity.Infra.Data.Mysql)
Add-Migration InitialCreate -Context MysqlConfigurationDbContext -OutputDir Migrations\Configuration\Mysql
Add-Migration InitialCreate -Context MysqlPersistedGrantDbContext -Outputdir Migrations\PersistedGrant\Mysql
Add-Migration InitialCreate -Context MysqlApplicationDbContext -OutputDir Migrations\Application\Mysql
Обновление базы данных:
#sqlserver
update-database -context CustomConfigurationDbContext
update-database -context CustomPersistedGrantDbContext
update-database -context ApplicationDbContext
#mysql
update-database -context MysqlConfigurationDbContext
update-database -context MysqlPersistedGrantDbContext
update-database -context MysqlApplicationDbContext
Создание начальных данных:
dotnet run seed //запустить проект
dotnet WQLIdentityServerAPI.dll seed //запустить программу **Конфигурация переключения**
{
"urls": "http://localhost:5001;https://localhost:5002",
"IdentityServer4": {
"authUrls": "http://localhost:5001",//адрес аутентификации swagger, если nginx был изменён, необходимо настроить его как адрес публикации сервера
"Audience": "IdentityServer4"
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
//переключение адреса базы данных
"Settings": {
//mysql или sqlserver
"DatabaseType": "mysql",
//строка подключения к базе данных
"SqlServerConnection": "Server=.;Database=IdentityServer ;Trusted_Connection=True;MultipleActiveResultSets=true",
//"MySqlConnection": "Server=localhost;Port=3306;Database=IdentityServer;Uid=root;Pwd=xiucaibbx0528;"
"MySqlConnection": "Server=localhost;Port=3306;Database=IdentityServer;Uid=wql;Pwd=asdfghjkl;",
"UseMinProfiler": false //включать ли miniprofiler
}
}
Фронтенд использует VUE cli3 для сборки
{
"authority": "http://47.119.119.183:8081",//адрес аутентификации
"clientId": "IdentityServer4", //идентификатор клиента аутентификации
"redirectUri": "http://localhost:8082/oidc-callback",//обратный адрес
"popupRedirectUri": "http://localhost:8082/oidc-popup-callback", "responseType": "id_token token", //тип аутентификации
"scope": "openid profile offline_access IdentityServer.API", "automaticSilentRenew": true,
"automaticSilentSignin": false,
"silentRedirectUri": "http://localhost:8082/silent-renew-oidc.html" , "post_logout_redirect_uri": "http://localhost:8082" //обратный адрес после выхода
}
npm install
npm run dev
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )