Суть единого входа и управления правами: введение в единый вход

задняя часть WeChat Безопасность

Продолжайте знакомить с первой частью серии «Единый вход и управление полномочиями»: сущность единого входа и управления полномочиями Первые две статьи представленысессия и кукииHTTP-перенаправление, с ними браузер может автоматически взаимодействовать между несколькими системами для автоматического входа в систему.

Полный план написания серии можно найти по адресу:Обзор серии

В этой статье представлена ​​система единого входа. Так называемый единый вход означает, что пользователям необходимо войти в систему только в одном месте. При доступе к другим связанным системам им не нужно повторно входить в систему, и они автоматически входят в систему неявно, так что опыт будет лучше.

В основном из следующих аспектов:

  • Общий процесс взаимодействия
  • Общие протоколы единого входа
  • Резюме ключевых вопросов

Общий процесс взаимодействия

В нашем проекте для реализации единого входа используется протокол CAS.В качестве примера возьмем реализацию в проекте.Для начала рассмотрим процесс взаимодействия и разберемся в его реализации.

Существует 2 системы.Система А — это «служба поддержки клиентов», которая в основном используется службой поддержки клиентов. Она может общаться с посещающими пользователями в режиме реального времени и отвечать на вопросы пользователей. Система B — это «система заказов на работу».Для вопросов, на которые невозможно ответить, служба поддержки клиентов создаст заказ на работу, и люди с более высоким уровнем или высокой степенью релевантности увидят заказ на работу для обработки.

Служба поддержки клиентов надеется, что после входа в систему A нет необходимости вручную входить в систему B, но необходима «служба единого входа», чтобы обеспечить унифицированную проверку входа, координировать автоматический вход в систему A и системы B, определите службу как службу S и ее CAS. Поток сценария протокола выглядит следующим образом:

CAS协议交互图

Мне потребовалось много времени, чтобы нарисовать приведенную выше картинку. Она выглядит сложной, но на самом деле все в порядке. Надеюсь, вы найдете время, чтобы прочитать ее. Если вы действительно понимаете первые две статьи, эта относительно проста.

Вот краткое изложение процесса:

  • Черный кружок и красные символы обозначают создание и использование файлов cookie, ABCDE означает 5 файлов cookie, 1 означает создание, 2 означает использование;
  • Будь то система A или система B, если файл cookie с идентификатором jessionid отсутствует, он перейдет к службе S. Если он содержит файл cookie1 (файл cookie, сгенерированный после успешного входа в систему), он автоматически войдет в систему без необходимости входа в систему. Если это не так. несите cookie1, он перейдет на страницу входа в систему, после успешного входа в систему будет установлен cookie1.
  • cookie1 хранится в браузере и сервисе S, указывая на то, что пользователь вошел в систему;
  • cookie2 и cookie4 являются временными файлами cookie, в основном для передачи кода службы в систему A или систему B. После получения кода службы запросите службу S через серверную часть для проверки.После проверки временный файл cookie недействителен, в основном для безопасности причины. .
  • Подобно jessionid, сгенерированному нашим обычным входом в систему, cookie3 и cookie5 являются уникальными файлами cookie для каждой подсистемы;

Если у вас есть какие-либо вопросы, вы можете оставить сообщение ниже, и я отвечу как можно скорее.

Общие протоколы единого входа

Выше приведен один из протоколов CAS, но есть и другие протоколы, которые могут реализовывать единый вход, например протоколы, перечисленные на официальном сайте CAS:

常见单点登录协议

Эти протоколы имеют разные применимые сценарии. Например, многие веб-сайты поддерживают прямой вход с помощью QQ, WeChat и Weibo. Пока вы входите в систему с помощью QQ, WeChat и Weibo, вам не нужно повторно входить в систему. протокол можно использовать для лучшего достижения этой цели.

Эти протоколы описаны отдельно позже.

Резюме ключевых вопросов

Независимо от протокола требуется промежуточная система для унифицированного управления аутентификацией и авторизацией. Кроме того, необходимо учитывать вопросы управления файлами cookie и безопасности.

В следующей статье будут представлены возможные проблемы с безопасностью, способы решения проблем с безопасностью, способы управления файлами cookie и сеансами, основное внимание будет уделено внедрению каждого конкретного протокола.

Индекс серии:

  1. Общие сведения о сеансах и файлах cookie
  2. HTTP-перенаправление
  3. Введение в единый вход
  4. проблемы с безопасностью файлов cookie
  5. Введение в управление правами

情情说