Аутентификация между сервисами, идентификация сервисов и управление правами доступа - PullRequest
2 голосов
/ 29 мая 2011

В настоящее время я занимаюсь разработкой распределенного приложения с использованием веб-сервисов Ruby, Ruby on Rails, Sinatra и pure Rack.

У меня будет мало служб (RESTful, не основанных на SOAP), которые будут взаимодействовать с использованием JSON, и мне понадобится способ защитить и проверить подлинность каждой из этих служб во время связи между ними, поэтому никто не мог притворяться службы и делать запросы к другим службам.

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

Таким образом, вопрос заключается в том, как сделать это, используя только Ruby, и как эффективно управлять идентификаторами служб и их правами доступа.

Должен ли я создать какую-либо дополнительную службу аутентификации, используемую этими службами?

Должен ли я создавать внутренние гемы для обеспечения некоторого промежуточного ПО соединения ключами / общими секретами?

Может быть, есть другой способ сделать это?

Ответы [ 2 ]

1 голос
/ 29 мая 2011

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

0 голосов
/ 26 апреля 2018

Я думаю, что OAuth - это протокол, который обычно используется для аутентификации во время выполнения веб-службы, особенно с RESTful API.

...