2016-06-15 6 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

あなたはガーディアンがあなたのDBに既存のユーザーに対してトークンを一致させたくない場合は、あなたのようなあなたのシリアライザをスタブすることができ、私の事:Guardian.Plug.current_resource

を呼び出すとき

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

次に、あなたは"ok"よりも何もしていません

関連する問題