This repository contains source code for a Redis-based session storage backend for the oic
Python library.
pip install pyoidc-redis-session-backend
A ready-to-run project is located at https://github.com/alehuo/pyoidc-redis-session-backend-example
Below is an example piece of code that initializes a Redis client which is then used to create an instance of RedisSessionBackend. After that, a Consumer is created which is then configured to use the Redis session backend as its backend.
import redis
from pyoidc_redis_session_backend import RedisSessionBackend
from oic.oic.consumer import Consumer
from oic.utils.authn.client import ClientSecretBasic, ClientSecretPost
redis_client = redis.Redis("localhost", "6379")
# Pass the redis client into the Redis session backend
backend = RedisSessionBackend(redis_client)
# Create an example consumer with example config
consumer = Consumer(backend, {
"authz_page": "/auth/callback", # Callback URL of your app
"response_type": "code",
},
client_config={
"client_id": "your_client_id", # Client ID
"client_authn_method": {
'client_secret_post': ClientSecretPost,
'client_secret_basic': ClientSecretBasic
}
})
consumer.provider_config("oidc_server_url") # OIDC server URL
consumer.set_client_secret("your_client_secret") # Client secret
To initialize the development environment, run:
- Run
python3 -m venv env
- Run
source env/bin/activate
- Run
pip install -r requirements.txt
Run tests with python -m pytest tests/
.
Contributions to this repository are welcome.
This project is licensed with MIT license.