Redis repository for Guardian DB.
You can use GuardianRedis
in case you use Guardian library for authentication
and Guardian.DB library for JWT tokens persistence.
If available in Hex, the package can be installed
by adding guardian_redis
to your list of dependencies in mix.exs
:
def deps do
[
{:guardian_redis, "~> 0.1.0"}
]
end
All you need to install Guardian DB as per Guardian.DB README
and just use GuardianRedis.Repo
as a repo
in settings.
config :guardian, Guardian.DB,
repo: GuardianRedis.Repo # Add this Redis repository module
Apart from this please set up Redis configuration:
config :guardian_redis, :redis,
host: "127.0.0.1",
port: 6379,
pool_size: 10
Initially, Guardian.DB was aimed to store and operate JWT tokens in a PostgreSQL database.
Sometimes round trip to Postgres database is expensive so this is why this Redis repo was born.
In case you want to implement a possibility for Guardian.DB to use different storage, e.g. ETS (or MySQL),
you need to implement Guardian.DB.Adapter
behavior. Thanks to @aleDsz it's quite simple:
https://github.com/ueberauth/guardian_db/blob/master/lib/guardian/db/adapter.ex
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/guardian_redis.