2016-06-15 8 views
3

Я хочу знать, можно ли использовать Guardian без пользовательской модели и как ее использовать.Использование Guardian без модели

Я использую Phoenix только для сервера, крошечного API и каналов. У меня есть база данных в браузере с PouchDB, и я хочу разрешить доступ к крошечному API.

Дело в том, что у меня нет, и я не хочу иметь модели в моем бэкэнде, но Guardian нуждается в ресурсе, чтобы сериализовать токен.

Можно ли что-то сделать в этом случае?

Когда я вызываю метод Guardian.serializer.for_token(user) или Guardian.encode_and_sign(:token) (с картой пользователя), то возвращается Неизвестный тип ресурса.

Мой guardian_serializer.ex является:

@behaviour Guardian.Serializer 

def for_token(user = %{:id => 88888888}), do: {:ok, "User:#{user.id}"} 
def for_token(_), do: {:error, "Unknown resource type"} 

def from_token("User:" <> id), do: {:ok, "User:#{id}"} 
def from_token(_), do: {:error, "Unknown resource type"} 

Спасибо.

ответ

0

Если вы не хотите, Гардиан, чтобы соответствовать лексемы против пользователя, существующих в вашей БД, я вещь, которую вы можете окурок ваш сериалайзер как таковой:

def for_token(_), do: {:ok, "ok"}  
def from_token(_), do: {:ok, "ok"} 

Тогда у вас не будет ничего другого, чем "ok" при вызове Guardian.Plug.current_resource

Смежные вопросы