Как внедрить current_user с параметрами из AWS Cognito?

Недавно я решил перенести свою пользовательскую базу и аутентификацию на AWS Cognito с устройства. Ответом за это является то, что моя команда разрабатывает мобильные приложения, а rails - это бэкэнд API. Я создал собственную стратегию ( AWS Cognito) и настроил на устройстве использование своей собственной стратегии. Моя аутентификация работает должным образом, и я получаю пользовательские атрибуты из AWS Cognito. Но я не знаю, как заполнить мои атрибуты в объект current_user устройства. Для простоты и поддержания существующих отношений между моими сущностями я по-прежнему поддерживаю таблицу локальных пользователей только с минимальной информацией, такой как имя пользователя, роль и, конечно, первичный ключ.

Кто-нибудь может мне помочь, как заполнить current_user атрибутами cognito?

Ниже приведен мой псевдокод для пользовательской стратегии надзирателя:

module Devise
  module Strategies
    class CognitoAuthenticatable < Authenticatable
      def authenticate!
        client = get_aws_cognito
        if resp = client.initiate_auth(username,pwd)
           user_attrs_from_aws_cognito = resp.get_user(resp.access_token)
           ### How to populate user_attrs_from_aws_cognito to current user
           success!
        else
          fail!("In valid login")
        end
      end
    end
  end
end

0 ответов

Другие вопросы по тегам