Files
⭕Alexander Rymdeko-Harvey 924d163792 Update Documentation installation and fix new beanie install method (#982)
* Update installation types and fix beanie install

* Move install instructions to redis authentication

* Add Redis install instructions
2022-05-09 15:28:56 +02:00

36 lines
1.3 KiB
Markdown

# Redis
[Redis](https://redis.io/) is an ultra-fast key-store database. As such, it's a good candidate for token management. In this strategy, a token is generated and associated with the user id. in the database. On each request, we try to retrieve this token from Redis to get the corresponding user id.
## Installation
You should install the library with the optional dependencies for Redis:
```sh
pip install 'fastapi-users[redis]'
```
## Configuration
```py
import aioredis
from fastapi_users.authentication import RedisStrategy
redis = aioredis.from_url("redis://localhost:6379", decode_responses=True)
def get_redis_strategy() -> RedisStrategy:
return RedisStrategy(redis, lifetime_seconds=3600)
```
As you can see, instantiation is quite simple. It accepts the following arguments:
* `redis` (`aioredis.Redis`): An instance of `aioredis.Redis`. Note that the `decode_responses` flag set to `True` is necessary.
* `lifetime_seconds` (`Optional[int]`): The lifetime of the token in seconds. Defaults to `None`, which means the token doesn't expire.
!!! tip "Why it's inside a function?"
To allow strategies to be instantiated dynamically with other dependencies, they have to be provided as a callable to the authentication backend.
## Logout
On logout, this strategy will delete the token from the Redis store.