Rails: частный RSS-канал с Devise - обычные практики? - PullRequest
2 голосов
/ 16 апреля 2011

Я хотел бы предоставить (автоматически обнаруживаемую) ссылку на частный RSS-канал в приложении Rails. В противном случае для аутентификации используется Devise.

Что рекомендуется и / или обычно используется для защиты корма в этом случае?

Как я вижу это, я мог

  • используйте токен для пользователя, добавьте его в ссылку в качестве параметра и идентифицируйте пользователя следующим образом:
  • или я мог бы использовать HTTP Basic Auth, который - исправьте меня, если я ошибаюсь - заставил бы меня напечатать имя пользователя и пароль на странице, чтобы сделать ссылку кликабельной, поскольку не все программы чтения RSS-каналов могут работать с аутентификации

Кто-нибудь должен был иметь дело с этим раньше и пытаться дать рекомендацию?

1 Ответ

0 голосов
/ 23 апреля 2011

Мое предложение:

Сделать токен модели пользователя аутентифицированным:

class DeviseCreateUsers < ActiveRecord::Migration
  def self.up
    create_table(:users) do |t|
      t.recoverable
      t.trackable
      t.encryptable
      t.string :login
      t.string :name
      t.token_authenticatable

      t.timestamps
    end
...
end

Затем включите базовую аутентификацию, но только с помощью токена (в инициализаторе Devise)

  # Tell if authentication through HTTP Basic Auth is enabled. False by default.
  # config.http_authenticatable = false
  config.http_authenticatable = [:token]

Затем визуализируйте ссылку rss в качестве базовой ссылки для аутентификации, используя значение @ user.authentication_token в качестве элементов user и password базового URL-адреса аутентификации.

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

ясно, как грязь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...