1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/qiufeng9862-SSO

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Одноточечный вход в систему: Springboot + Shiro + Oltu + Thymeleaf + Vue.js

Добавление версии микросервиса, подробнее см.:

Проект представляет собой: Maven проект, кодировка символов: UTF-8;

На основе фреймворка Springboot интегрирована система безопасности Shiro, на основе Oltu реализована аутентификация OAuth2 с одноточечным входом в систему.

Фронтенд реализован с использованием Thymeleaf и Vue.js.

Проект состоит из трёх частей: core, web_oauth2_server, app_oauth2_server.

Core отвечает за основную логику проверки. Web_oauth2_server предоставляет интерфейс для входа через веб-браузер. App_oauth2_server предоставляет API для входа в мобильное приложение.

Основные технические версии: JDK (1.8), Springboot (2.2.4.RELEASE), Shiro (1.4.2), Oltu (1.0.2).

Функции: Текущая версия V1.0.9:

  1. Поддержка сканирования кода для входа, учётных записей и паролей, входа по SMS-коду и входа без повторного входа при использовании одного и того же сеанса (в будущих версиях будет добавлено больше способов аутентификации).
  2. Поддержка трёх способов получения токенов: authorization_code, password, refresh_token.
  3. Поддержка Redis для кэширования сеансов.
  4. Поддержка «горячих» пользователей и «горячего» клиента (информация о пользователях и клиентах сохраняется в Redis после доступа, а затем непосредственно обращается к Redis без запроса к базе данных; если доступ не осуществляется в течение длительного времени, информация будет очищена).
  5. Поддержка функции взаимного исключения при входе в учётную запись (если один и тот же пользователь пытается войти с разных компьютеров или мобильных устройств, предыдущий сеанс будет завершён).
  6. Поддержка регистрации входа.

Планы на будущее: V1.1.0:

  1. Добавление контроля потока.

V2.0.0:

  1. Добавление управления правами.

Инструкция по установке:

  1. Используйте команду Maven для импорта кода в IDE, например, Idea.
  2. Установите плагин Lombok (если он уже установлен, этот шаг можно пропустить).
  3. Выполните SQL-запросы в каталоге для создания таблиц, связанных с входом.
  4. Установите локальный сервер Redis и запустите его.
  5. Запустите проект.

Использование: http://localhost:19888/swagger-ui.html — просмотр документации по интерфейсу.

  1. Получение code: Посетите http://localhost:19888/oauth2/authorize?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}&state={state}. Введите имя пользователя admin и пароль !QAZ2wsx и отправьте форму. Система вернёт {redirect_uri}?code={code}&state={state}. Пример: посетите http://localhost:19888/oauth2/authorize?response_type=code&client_id=system&redirect_uri=http://baidu.com. Система вернёт http://baidu.com?code=****************.

  2. Получение token: Используйте код, возвращённый системой, для вызова POST-запроса к http://localhost:19888/oauth2/accessToken для получения информации о токене. Обратите внимание на Content-Type=application/x-www-form-urlencoded. Пример параметров: header с Content-Type = application/x-www-form-urlencoded; [{"key":"client_id","value":"system","description":""},{"key":"client_secret","value":"system","description":""},{"key":"grant_type","value":"authorization_code","description":""},{"key":"code","value":"77c9c36b1d9ef13f366d20f47789c80b","description":""},{"key":"redirect_uri","value":"http://baidu.com","description":"}].

  3. Получение информации о пользователе: Выполните GET-запрос к http://localhost:19888/user/info?access_token={access_token} для получения информации о пользователе. Пример: http://localhost:19888/user/info?access_token=****************. Также можно поместить информацию о токене в заголовок и установить Authorization=Bearer{access_token}, а затем выполнить GET-запрос к http://localhost:19888/user/info.

  4. Выход пользователя: Посетите http://localhost:19888/user/revoke для выхода из системы.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

OAuth2 — единый вход. Программное обеспечение на архитектуре springboot + shiro + oltu + thymeleaf + vue.js. На основе фреймворка springboot интегрирована структура безопасной аутентификации shiro, на основе oltu реализована аутентификация OAuth2 для единого входа. Интерфейс реализован с использованием thymeleaf и vue.js. Расширить Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/qiufeng9862-SSO.git
git@gitlife.ru:oschina-mirror/qiufeng9862-SSO.git
oschina-mirror
qiufeng9862-SSO
qiufeng9862-SSO
master