Doorkeeper, OAuth, JWT с Rails

Я уже просматривал специальные преобразования Rails здесь и здесь, а также несколько руководств по Rails API с < strong> JWT здесь и там и здесь. К сожалению, большинство из них слишком устарели (2011-2015 гг.). Тем не менее, я все еще немного не понимаю, что выбрать между oauth2, omniauth-oauth2, ruby-jwt, а также в какой ситуации и как склеить все эти кирпичи вместе.

Короче говоря, мне нужно аутентифицировать пользователей через внешний корпоративный API, получить токен JWT и иметь возможность декодировать его для извлечения информации о пользователе, прежде чем он сможет войти в приложение Rails. Что я должен делать:

  • создать индивидуальную стратегию?
  • будет ли эта настраиваемая стратегия работать с корпоративным API аутентификации, если она не использует Doorkeeper?

Некоторые недавние ссылки были бы очень признательны.


person belgoros    schedule 11.01.2018    source источник
comment
Имеет ли отношение к вам github.com/doorkeeper-gem/doorkeeper-grants_assertion?   -  person baxang    schedule 29.03.2018
comment
@baxang Спасибо за ссылку, при необходимости посмотрю на своих будущих разработчиков. На самом деле я использую Ember как интерфейсное решение, поддерживаемое Rails API. Ember Simple Auth с неявным способом аутентификации гранта работает нормально.   -  person belgoros    schedule 29.03.2018


Ответы (1)


Я вижу, что вы хотите использовать механизм Open Id Connect, который поставщик удостоверений (IdP) будет возвращать id_token (формат JWT) клиенту. Этот механизм уже реализован здесь: https://github.com/doorkeeper-gem/doorkeeper-openid_connect. Проверить это!

person Linh Duy Dang    schedule 21.08.2020