Skip to content

Commit c674fd4

Browse files
author
Ioannis Kakavas
committed
Add support for static client DB configuration
1 parent 7a07eb2 commit c674fd4

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

example/plugins/frontends/openid_connect_frontend.yaml.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ name: OIDC
33
config:
44
signing_key_path: frontend.key
55
db_uri: mongodb://db.example.com # optional: only support MongoDB, will default to in-memory storage if not specified
6+
client_db_path: /path/to/your/cdb.json
67
provider:
78
client_registration_supported: Yes
89
response_types_supported: ["code", "id_token token"]

src/satosa/frontends/openid_connect.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,14 @@ def _create_provider(self, endpoint_baseurl):
7878

7979
authz_state = self._init_authorization_state()
8080
db_uri = self.config.get("db_uri")
81-
cdb = MongoWrapper(db_uri, "satosa", "clients") if db_uri else {}
81+
cdb_file = self.config.get("db_file")
82+
if db_uri:
83+
cdb = MongoWrapper(db_uri, "satosa", "clients")
84+
elif cdb_file:
85+
with open(self.config['client_db_path']) as f:
86+
cdb = json.loads(f.read())
87+
else:
88+
cdb = {}
8289
self.user_db = MongoWrapper(db_uri, "satosa", "authz_codes") if db_uri else {}
8390
self.provider = Provider(self.signing_key, capabilities, authz_state, cdb, Userinfo(self.user_db))
8491

0 commit comments

Comments
 (0)