Прежде чем вы меня забросите, задав слишком простой вопрос, не делая домашней работы, я бы хотел сказать, что я много читал по этим темам, но я все еще смущен.
Мои потребности кажутся достаточно простыми. В моей компании у нас есть куча приложений Ruby on Rails. Я хочу создать службу аутентификации SSO, которую должны использовать все эти приложения.
Попытка провести некоторое исследование о том, как это сделать, я читал о CAS
, SAML
и OAuth2
. (Я знаю, что "Auth" в OAuth означает авторизацию, а не аутентификацию, но я достаточно читал статьи, говоря, что OAuth можно использовать для аутентификации просто отлично - this является одним из них.)
Может кто-нибудь сказать мне простыми словами, что это за 3? Являются ли они альтернативными (конкурирующими)? Правильно ли сравнивать их?
И есть так много драгоценных камней, которые, кажется, говорят очень похожие вещи:
- https://github.com/rubycas/rubycas-server и https://github.com/rubycas/rubycas-client li >
- https://github.com/nbudin/devise_cas_authenticatable
- https://github.com/onelogin/ruby-saml
- CASino и https://github.com/rbCAS/casino-activerecord_authenticator
- И я уверен, что есть сотни драгоценных камней, связанных с OAuth.
Я просто хочу отдельное приложение Rails, которое обрабатывает всю аутентификацию для других приложений Rails.
Примечание.. Я не хочу, чтобы пользователи могли использовать свои учетные записи Google/Facebook для входа в систему. У наших пользователей уже есть учетные записи на нашем сайте. Я хочу, чтобы они могли войти в систему с помощью этой учетной записи и получить доступ ко всем нашим приложениям без повторного входа в систему. Выйти из любого приложения должно выписывать их из всех приложений.
UPDATE
Я столкнулся с этими двумя решениями OAuth:
- http://dev.mikamai.com/post/110722727899/oauth2-on-rails
- http://blog.yorkxin.org/posts/2013/11/05/oauth2-tutorial-grape-api-doorkeeper-en/
Кажется, они описывают что-то очень похожее на то, что я хочу. Но я не нашел ни одного руководства/публикации в блоге/учебника, показывающего, как это сделать с помощью SAML/CAS.
Предложения приветствуются.
ОБНОВЛЕНИЕ 2
Подробнее о нашем прецеденте.
У нас нет существующей архитектуры SAML. Прежде всего, это будут НАШИ пользователи (зарегистрированные непосредственно на нашем сайте), которые будут получать доступ ко всем нашим приложениям. В будущем у нас могут быть сторонние (партнерские) компании, называющие наши API. У нас также могут быть пользователи из этих сторонних (партнерских) компаний (зарегистрированных на своих сайтах), обращаясь к нашим приложениям.