• Обзор способов и протоколов аутентификации в веб-приложениях



      Я расскажу о применении различных способов аутентификации для веб-приложений, включая аутентификацию по паролю, по сертификатам, по одноразовым паролям, по ключам доступа и по токенам. Коснусь технологии единого входа (Single Sign-On), рассмотрю различные стандарты и протоколы аутентификации.

      Перед тем, как перейти к техническим деталям, давайте немного освежим терминологию.

      • Идентификация — это заявление о том, кем вы являетесь. В зависимости от ситуации, это может быть имя, адрес электронной почты, номер учетной записи, итд.
      • Аутентификация — предоставление доказательств, что вы на самом деле есть тот, кем идентифицировались (от слова “authentic” — истинный, подлинный).
      • Авторизация — проверка, что вам разрешен доступ к запрашиваемому ресурсу.


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

      Аналогично эти термины применяются в компьютерных системах, где традиционно под идентификацией понимают получение вашей учетной записи (identity) по username или email; под аутентификацией — проверку, что вы знаете пароль от этой учетной записи, а под авторизацией — проверку вашей роли в системе и решение о предоставлении доступа к запрошенной странице или ресурсу.

      Однако в современных системах существуют и более сложные схемы аутентификации и авторизации, о которых я расскажу далее. Но начнем с простого и понятного.
      Читать дальше →
    • Torskel — упрощаем рутину в Tornado

      Мне часто приходится делать небольшие сервера на tornado. В каких-то проектах нужна поддержка работы с redis, в каких-то нет. В других надо рендерить ReactJS. И во всех нужно логирование. Для начала я поднял локальный pypi репозитарий, собрал свои наработки в питоний пакет и радовался жизни. Достаточно было установить пакет, импортировать из него классы, отнаследоваться и радостно пилить код дальше.

      А потом появилась мысль — а не поделиться ли своими наработками с людьми? Итак представляю вашему вниманию пакет torskel.
      Читать дальше →
    • Подробное руководство по созданию и развертыванию чата на Tornado + Telegram

      Данное решение подойдет для небольших проектов, так как возможность параллельно вести диалог с несколькими пользователями реализована с помощью создания нового чат-бота, то есть чем больше ботов будет, тем больше людей смогут с вами связаться в один момент времени.
      Читать дальше →
      • +10
      • 7,3k
      • 4
    • Pathfinder: как мы делаем интерфейс для CRPG

        image


        Привет, Хабр! У нас в компании уже около года существует направление экспериментальных игровых разработок, и сегодня хотим рассказать об одной из них. Мы Owlcat Games, и в рамках кикстартерной компании разрабатываем игру Pathfinder: Kingmaker — это однопользовательская CRPG с изометрической графикой (привет, олдскульщики!). В этом посте расскажем о том, как мы делаем интерфейс для нашей игры.

        Читать дальше →
      • 4 популярные ошибки в дизайне визиток

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

          Проблемы с версткой


          Задача верстки — правильно расставить акценты на визитке. В случае с плохой версткой, получатель не поймет, куда смотреть и что читать в первую очередь.

          Кроме того, без «сетки» блоки текста нередко оказываются слишком близко друг к другу или к краям, из-за чего тексту не хватает «воздуха» и он попросту «слипается», и прочесть его становится трудно.

          image

          image
          Читать дальше →
        • Два в одном: как пользоваться Vim и Nano?

          Upd. 9.7.2017: обновлён раздел про vim. Спасибо вимерам за ценные дополнения.

          Вступительное слово


          Зачем нужна ещё одна, 1001я публикация на эту тему? Статей про vim и nano написано огромное количество, но как правило они касаются только одного из редакторов, либо представляют из себя общий обзор. Чтобы в одной были сжато описаны оба редактора, но при этом без углубления в дебри приведены все основные клавиши управления для полноценной работы, я не не нашёл. Поэтому, почитав найденные материалы, я начал их конспектировать, так и родилась эта статья.


          Любой текстовый редактор можно освоить «методом тыка». Но только не vim.
          Чем nano лучше vim?
          Из nano можно выйти без reset'а! (с) Интернет


          Изначально я не планировал писать об обоих редакторах, а хотел сделать краткую справку только по nano, но в процессе сбора информации накопились данные и по vim тоже. Тут я обнаружил, что Vim не так уж и страшен, если знать команды и концепцию его использования.

          Читать дальше →
        • Настройка автоматического разворачивания независимых development окружений на одной машине (Docker, Ansible, TeamCity)

          В этом посте я расскажу как мы, в TheQuestion, осуществили нашу давнюю мечту — отдельные, автоматически разворачиваемые development среды для каждой отдельной задачи.


          image// картинка

          Читать дальше →
        • 350+ полезных ресурсов, книг и инструментов для работы с Docker

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

          Читать дальше →
          • +28
          • 66,6k
          • 8
        • Pygest #2. Релизы, статьи, интересные проекты из мира Python [15 января 2017 — 29 января 2017]

            image

            Всем привет!

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

            А теперь к делу!
            Перейти к дайджесту
            • +34
            • 10,5k
            • 9