/ / मॉडल के बिना अभिभावक का उपयोग करें - प्रमाणीकरण, अमृत, फोनिक्स-फ्रेमवर्क

मॉडल के बिना अभिभावक का प्रयोग करें - प्रमाणीकरण, elixir, फीनिक्स-ढांचे

मैं जानना चाहता हूं कि क्या उपयोगकर्ता मॉडल के बिना गार्जियन का उपयोग करना संभव है, और इसका उपयोग कैसे करना है।

मैं सिर्फ एक सर्वर, छोटे एपीआई और चैनलों के लिए फीनिक्स का उपयोग करता हूं। मेरे पास PouchDB के साथ ब्राउज़र में एक डेटाबेस है, और मैं छोटे एपीआई तक पहुंच को अधिकृत करना चाहता हूं।

बात यह है, मैं डॉन 'टी है, और मैं डॉन' टी चाहता है, मेरे बैकेंड में मॉडल है, लेकिन अभिभावक को टोकन को क्रमबद्ध करने के लिए एक संसाधन की आवश्यकता है।

क्या इस परिदृश्य में कुछ करना संभव है?

जब मैं विधि कहता हूं Guardian.serializer.for_token(user) या Guardian.encode_and_sign(:token) (उपयोगकर्ता मानचित्र के साथ) रिटर्न अज्ञात संसाधन प्रकार है।

मेरा अभिभावक_सरकारक है।

@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 № 1

यदि आप नहीं चाहते हैं कि अभिभावक आपके db में मौजूद उपयोगकर्ता के खिलाफ टोकन का मिलान करें, तो मैं आपको इस धारावाहिक के बारे में बता सकता हूं:

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

तब आपके पास और कुछ नहीं होगा "ok" कॉल करते समय Guardian.Plug.current_resource