👥 Объяснение установки OAuth на Linux

Мануал

Oauth 2.0 – это фреймворк авторизации для делегирования определенных разрешений API без обмена паролями между клиентом и сервером.

Основным преимуществом Oauth является возможность предоставлять сторонним приложениям определенные разрешения (в рамках ограничительной политики) без совместного использования паролей.

Это делает Oauth отличным инструментом для интеграции различных приложений.

Например, пользователь хочет, чтобы записи его веб-сайта WordPress автоматически публиковался в Linkedin.

Он был бы не против поделиться своими учетными данными Linkedin со своим собственным веб-сайтом.

Но если ему нужно установить плагин WordPress, который будет автоматически публиковаться в Linkedin, ему нужно будет поделиться с этим сторонним плагином своим паролем Linkedin, что немыслимо.

С помощью Oauth пользователь может предоставить ограниченный доступ плагину через авторизацию по токену вместо учетных данных.

Плагин будет действовать от имени пользователя для специально назначенной и разрешенной задачи.

OAuth не хранит учетные данные, но ограничивает доступ к определенному действию.

Фреймворк также позволяет отменять индивидуальный доступ к ресурсам без изменения пароля ресурса.

Роли OAuth и их взаимодействие

Роли Oauth – это владелец ресурса, клиент, сервер ресурсов и сервер авторизации.

Владелец ресурса: это Resource Owner, которому будет предоставлен ограниченный доступ.

Клиент: приложение запрашивает авторизацию на выполнение действия (чтение, запись) от имени Владельца ресурса.

В предыдущем примере (WordPress + Linkedin) клиентом был плагин, настроенный с помощью токена.

Сервер ресурсов: это API, к которому вы хотите предоставить доступ.

Это могут быть карты Google, твиты и т.д.

Сервер авторизации: этот компонент может быть размещен на собственном сервере или в составе сервера ресурсов.

Сервер авторизации генерирует и передает токен после аутентификации личности владельца.

OAuth может предоставить доступ владельцу ресурса или клиенту.

Владелец ресурса разрешает приложению доступ к серверу ресурсов.

Затем приложение запрашивает токен у сервера авторизации, используя утверждение или авторизацию владельца ресурса.

Когда сервер авторизации проверяет запрос, он выдает токен доступа к приложению.

Используя этот токен, приложение может получить доступ к серверу ресурсов.

В следующем разделе этого руководства описаны некоторые концепции OAuth, которые необходимо понять перед его установкой в ​​Linux.

Claims OAuth:

Токены содержат информацию, называемую Claims.

Ими может быть имя пользователя, адрес электронной почты, автор, клиент, используемый Владельцем ресурса, или некоторая информация об объекте, указанном в токене.

Области действия OAuth:

Области ограничивают клиентский доступ к функциям сервера ресурсов или API.

Когда владелец ресурса утверждает авторизацию, ему необходимо определить области, предоставленные клиенту.

Идентификатор клиента/Секрет клиента:

Идентификатор клиента – это общедоступная строка для идентификации приложения и построения URL-адреса авторизации.

Client Secret аутентифицирует приложение перед сервером авторизации при запросе доступа к приложению.

Установка фреймворка OAuth PHP на Debian Linux:

Я не установил PHP; но если вы хотите протестировать OAuth, вам необходимо сначала установить PHP.

Вы можете установить PHP в Debian и других дистрибутивах Linux, выполнив следующую команду:

apt install php-pear php-dev -y

После установки PHP установите следующие пакеты:

sudo apt install -y gcc make autoconf libc-dev pkg-config libpcre3-dev
Теперь вы можете установить PHP, выполнив команду, показанную ниже:
bash -c "echo extension=oauth.so > /etc/php/7.3/cli/conf.d/oauth.ini"

/etc/init.d/apache2 restart

или

sudo service apache restart

ПРИМЕЧАНИЕ. Если вы используете Nginx, перезапустите его, выполнив команду: service nginx restart

Наконец, вы можете проверить правильность установки OAuth, выполнив:

php -i | grep -i "OAuth"
Вы можете настроить свое веб-приложение, используя решения для авторизации, такие как https://openid.net/connect/ или https://goteleport.com.
sudo apt install ruby-oauth2 -y

Заключение

OAuth – отличное решение для управления доступом и правами, а также для интеграции различных приложений.

Он предоставляет платформу авторизации для веб-приложений, настольных приложений и мобильных устройств.

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

Они также могут легко отозвать доступ для определенных пользователей.

Предотвращение обмена учетными данными представляет собой существенное улучшение безопасности.

Пользователи также могут использовать OAuth для управления и защиты своей базы данных, Docker, ssh-доступа и многого другого.

Надеюсь, вы нашли это руководство по OAuth полезным.

Добавить комментарий