Во-первых, AMF поддерживает настройку и отправку данных cookie.К сожалению, существует довольно много комбинаций старых браузеров и антивирусных программ, которые исключают файлы cookie только для трафика AMF.Чтобы избежать этих проблем, все защищенные вызовы AMF моей компании требуют идентификатора сеанса для аутентификации.Мы используем ExternalInterface во Flash, чтобы получить идентификатор сеанса пользователя из файла cookie и отправить его в качестве первого параметра всех вызовов AMF.Таким образом, мы избегаем всех проблем, связанных с файлами cookie и AMF.
При этом из-за того, как работают Devise и RubyAMF, Devise не может получить имя пользователя и пароль, которые вы отправили через AMF для входа в систему.даже если вы отправите запрос соответствующему контроллеру и выполните действие, оно все равно не будет выполнено.
Причина этого заключается в том, что Warden, на котором основан Devise, извлекает имя пользователя и пароль из запроса стойки.RubyAMF использует объекты запроса и ответа Rails и изменяет хэш параметров запроса Rails при вызове контроллера.Поэтому, когда вы отправляете запрос RubyAMF для действия по входу в систему, Devise переходит к входу пользователя в систему, Warden проверяет исходный запрос стойки и находит бред, и вход в систему не выполняется.