2016-06-15 9 views
3

Ich möchte wissen, ob es möglich ist, Guardian ohne ein Benutzermodell zu verwenden, und wie man es benutzt.Verwenden Sie Guardian ohne Modell

Ich benutze Phoenix nur für einen Server, winzige API und Kanäle. Ich habe eine Datenbank im Browser mit PouchDB, und ich möchte den Zugriff auf die kleine API autorisieren.

Die Sache ist, ich habe nicht, und ich will nicht, Modelle in meinem Backend, aber Guardian benötigt eine Ressource, um das Token zu serialisieren.

Ist es möglich, etwas in diesem Szenario zu tun?

Wenn ich die Methode Guardian.serializer.for_token(user) oder Guardian.encode_and_sign(:token) (mit einer Benutzerzuordnung) aufrufen, ist die Rückgabe Unbekannter Ressourcentyp.

Mein guardian_serializer.ex ist:

@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"} 

Dank.

Antwort

0

Wenn Sie nicht Wächter Token gegen Benutzer in Ihrem db vorhandenen übereinstimmen soll, ich, was Sie Ihren Serializer als solche Stummel kann:

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

Dann werden Sie nichts anderes als "ok" haben, wenn Guardian.Plug.current_resource Aufruf

Verwandte Themen