В современную цифровую эпоху мы каждый день имеем дело с многочисленными сетевыми приложениями и услугами.
Будь то приложения корпоративного уровня на работе или различные социальные и развлекательные платформы в жизни, пользовательский опыт и безопасность имеют решающее значение. SSO (единый вход) и OAuth (открытая авторизация) — две важные технологии, играющие ключевую роль в этой области.
OAuth — это не SSO,Хотя разработчики часто путают эти два понятия.
Большая часть путаницы связана с тем, что поставщики OAuth, такие как Google, позволяют пользователям входить в несколько приложений, используя свою учетную запись, поскольку SSO делает то же самое.
Эти провайдеры используют OAuth как Аутентификацияпроцедурныйчасть,Поэтому, когда разработчик видит OAuth во время процесса OAuth.
В этой статье мы объясним различия между OAuth и SSO и поможем вам решить, какой из них вам следует использовать.
это своего родаАутентификацияметод,Позволяет пользователям получать доступ к нескольким приложениям с помощью одной аутентификации через поставщика удостоверений (IdP).,Его основная цель — сократить утомительную работу пользователей, неоднократно вводящих имена пользователей и пароли между разными системами.,Улучшите пользовательский опыт и эффективность работы
Как показано на рисунке, SSO — это модуль, который извлекает данные входа в систему. App1 и App2 отвечают только за модуль приложения, а SSO отвечает только за модуль входа. Когда App1 и App2 необходимо войти в систему, они перейдут в систему единого входа. После того как система единого входа завершит вход, другие системы приложений также войдут в систему.
Например: представьте, что на крупном предприятии сотрудникам может потребоваться использовать несколько внутренних систем, таких как системы электронной почты, системы автоматизации делопроизводства, финансовые системы и т. д. Без единого входа сотрудникам приходится вводить свое имя пользователя и пароль для входа в систему каждый раз, когда они получают доступ к различным системам. Это не только тратит время, но также легко приводит к путанице или забвению из-за запоминания нескольких паролей. Благодаря SSO сотрудникам достаточно один раз войти в систему на единой платформе аутентификации, чтобы беспрепятственно получить доступ ко всем этим связанным системам.
Это протокол авторизации, который позволяет пользователям разрешать сторонним приложениям получать доступ к их конкретным ресурсам у поставщика услуг, не предоставляя свое имя пользователя и пароль стороннему приложению.
Пример. Например, вы хотите использовать стороннее приложение для редактирования фотографий для обработки ваших фотографий в облачном хранилище. С помощью OAuth вы можете разрешить приложению для редактирования изображений доступ к указанным вами фоторесурсам, не раскрывая ему пароль службы облачного хранилища. Это не только обеспечивает безопасность ресурсов, но и облегчает использование сторонних приложений.
Системы SSO обычно включают в себя центральный сервер аутентификации, который отвечает за аутентификацию личности пользователей. Когда пользователь впервые обращается к системе приложений, система приложений перенаправляет пользователя на центральный сервер аутентификации для входа в систему.
После того как пользователь успешно входит на центральный сервер аутентификации, сервер генерирует билет, содержащий идентификационную информацию пользователя (обычно зашифрованную строку), и возвращает билет в браузер пользователя. Браузер пользователя сохранит этот билет в файле cookie или передаст его в качестве параметра URL-адреса другим прикладным системам при последующих посещениях.
Когда пользователи получают доступ к другим прикладным системам, эти прикладные системы получают билеты по запросу пользователя и отправляют их обратно на центральный сервер аутентификации для проверки. Если проверка билета пройдет успешно, система приложения посчитает, что пользователь прошел аутентификацию личности, и разрешит пользователю доступ к соответствующим ресурсам.
Принцип реализации SSO показан на рисунке ниже:
Для крупных предприятий существует множество внутренних прикладных систем, таких как ERP, CRM, HR и т. д. Внедрив единый вход, вы можете значительно повысить производительность сотрудников и сократить перерывы в работе, вызванные проблемами управления паролями.
В некоторых межорганизационных или междоменных сценариях единый вход также может играть важную роль. Например, сотрудничество между несколькими предприятиями требует совместного использования определенных ресурсов приложений. Создав общую систему единого входа, пользователи могут беспрепятственно входить в систему между различными доменами предприятия.
С развитием облачных вычислений многие предприятия развертывают приложения на облачных платформах. Поставщики облачных услуг могут предоставить решения SSO, чтобы корпоративные пользователи могли легко получить доступ к множеству приложений облачных служб.
Последней версией является OAuth версии 2.0, которая в основном состоит из четырех субъектов:
OAuth 2.0 имеет четыре режима авторизации:
Как упоминалось выше, OAuth предоставляет безопасный и удобный метод авторизации для различных сторонних приложений, позволяя пользователям свободно выбирать, каким приложениям разрешен доступ к их ресурсам.
Платформы социальных сетей часто позволяют сторонним разработчикам разрабатывать приложения на основе своих платформ через OAuth. Эти приложения могут получать некоторую информацию о пользователе в социальных сетях с его разрешения, например, публикацию обновлений, получение списков друзей и т. д., тем самым обогащая экологию платформы социальных сетей.
В сфере мобильных приложений также широко используется OAuth. Например, некоторым приложениям мобильных платежей необходим доступ к информации о банковском счете пользователя, и OAuth может получить авторизацию пользователя, обеспечивая при этом безопасность.
Преимущества единого входа
Однако SSO также сталкивается с некоторыми проблемами:
Преимущества OAuth:
У OAuth также есть некоторые проблемы:
Сочетание с многофакторной аутентификацией. Благодаря постоянному совершенствованию требований безопасности системы единого входа будут все чаще сочетаться с технологиями многофакторной аутентификации, такими как распознавание отпечатков пальцев, распознавание лиц, динамические пароли и т. д., для дальнейшего повышения безопасности аутентификации пользователей. .
Адаптируйтесь к тенденциям мобильности и облачных технологий. С ростом популярности мобильных офисов и облачных вычислений технология SSO должна лучше адаптироваться к характеристикам мобильных устройств и облачных сред, чтобы предоставлять более удобные и безопасные услуги аутентификации и авторизации.
Межорганизационный и кроссплатформенный единый вход. В будущем единый вход между различными организациями и разными платформами будет более широко использоваться для содействия обмену информацией и деловому сотрудничеству.
Более тонкая детализация авторизации. Чтобы лучше защитить пользовательские ресурсы, OAuth будет развиваться в направлении более тонкой детализации авторизации, позволяя пользователям более точно контролировать доступ к ресурсам, например, по времени, количеству раз, типу операции и т. д. Авторизоваться.
В сочетании с технологией блокчейна: децентрализованные и незащищенные характеристики блокчейна могут обеспечить более безопасный и надежный механизм авторизации и аутентификации для OAuth, и ожидается, что в будущем появится больше приложений OAuth на основе блокчейна.
Применение искусственного интеллекта при принятии решений об авторизации: с помощью технологии искусственного интеллекта для пользователей могут автоматически генерироваться более разумные предложения по авторизации на основе моделей поведения пользователя и исторических данных, что повышает точность и безопасность авторизации.
Короче говоря, SSO и OAuth, как важные технологии аутентификации и авторизации, играют незаменимую роль в улучшении пользовательского опыта, обеспечении информационной безопасности и содействии экологическому развитию приложений. Благодаря постоянному развитию технологий и постоянному расширению сценариев применения они также будут продолжать развиваться и совершенствоваться, привнося больше удобства и безопасности в нашу цифровую жизнь. Будь то информатизация предприятий или разработка интернет-приложений, необходимо иметь глубокое понимание и рациональное применение этих двух технологий, чтобы адаптироваться к все более сложной сетевой среде и потребностям пользователей.