Я пытаюсь обернуть голову вокруг OAuth2 и Perl (т. Е. Net :: OAuth2) - в частности, настроить RESTful API для базы данных и приложение, которое его использует.Как вы пишете сервер OAuth2 в Perl?
Perl Oauth2 package привело меня в сеть :: OAuth2.
Насколько я могу понять, есть несколько вещей, которые я должен делать (пожалуйста, поправьте меня, если я уезжаю в сорняках где-то):
- стороны сервера: построить сервер REST (в настоящее время играет с мозаичным для этого), который ведет переговоры с базой данных.
- стороне сервера: построить сервер аутентификации/авторизации (??)
- Клиент приложения: использует WWW :: Mechanize (или некоторые такие), чтобы поговорить с сервером REST
В моей голове, вот как это работает:
- клиентского приложения ключ API (? зарегистрированный на сервере (REST сервере Auth сервер), и «запеченный в» клиент)
- пользователя имеет запись (имя пользователь и пароль) в таблице в базе данных на сервере
- пользователь запускает клиентское приложение и пытается получить доступ к защищенному ресурсу (скажем, чтобы обновить строку) (опять же, например, выбрав опцию меню «сделать эту вещь» в клиенте; клиент переводит, что в REST API URI, например http://the.rest.server/api/thisthing)
- сервер перенаправляет клиента() бит аутентификации/авторизации сервера
- сервер, клиент, и пользователь действительно волшебный OAuth танец для аутентификации пользователя
- сервер, клиент и пользователь делают еще один волшебный танец OAuth, чтобы удостовериться, что пользователь имеет право видеть этот ресурс URI
- Если все хорошо, сервер перенаправляет клиента в исходно запрошенный URI ресурсов (с независимо от того, какие автоматы необходимы).
Это разумная оценка процесса?
Если да, имеет ли смысл иметь «аутентификацию/авторизацию» как часть сервера REST или как полностью отдельный сервер? (на том же оборудовании).
Net::OAuth2::Profile::WebServer прекрасно объясняет, что должно произойти на стороне клиента.
Испытания в http://cpansearch.perl.org/src/MARKOV/Net-OAuth2-0.55/t/ (если я не действительно то отсутствует) являются о работе с Net :: oauth2 профиль веб-сервер, который будет (опять-таки) быть «клиентское приложение».
Есть и другие примеры для написания клиента - подключение к существующему серверу OAuth2, например, к материалам Google API, но я не могу найти примеры написания сервера ... (я вполне согласен с RTFM , если я могу найти FM ... указатели оценили!)
Спасибо, divyanshm - что имеет смысл. – bibliophylum
Я также нашел более старый (незавершенный?) Модуль Perl: [OAuth :: Lite :: Server] (http://search.cpan.org/~lyokato/OAuth-Lite-1.31/lib/OAuth/Lite /Server/mod_perl2.pm) ... думал, что буду ссылаться на него здесь для будущих читателей. – bibliophylum