diff --git a/demo/demo_server.py b/demo/demo_server.py index e6513d2..08b6532 100644 --- a/demo/demo_server.py +++ b/demo/demo_server.py @@ -3,10 +3,15 @@ from scopes.server import auth from scopes.storage import topic +import waitress from wsgiref.simple_server import make_server def run(app, config): port = int(config.server_port) + print(f'Serving on port {port}.') + waitress.serve(app, port=port) + +def run_wsgiref(app, config): # obsolete with make_server('', port, app) as httpd: print(f'Serving on port {port}.') try: diff --git a/demo/shell.py b/demo/shell.py new file mode 100644 index 0000000..5f9d8c3 --- /dev/null +++ b/demo/shell.py @@ -0,0 +1,11 @@ +# scopes/demo/shell.py +# simple shell for interactive testing / accessing the database (storage) +# use: `python -i shell.py` + +import config +from scopes.server import auth +from scopes.storage.folder import Root +from scopes.storage import topic + +storage = config.StorageFactory(config)(config.dbschema) +root = Root(storage) diff --git a/pyproject.toml b/pyproject.toml index 39982cc..bacc883 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,6 +23,7 @@ postgres = [ ] app = [ "python-dotenv", + "waitress", "zope.authentication", "zope.interface", "zope.publisher", diff --git a/scopes/server/auth.py b/scopes/server/auth.py index 32d4fed..45d6e34 100644 --- a/scopes/server/auth.py +++ b/scopes/server/auth.py @@ -81,7 +81,7 @@ class Authenticator(DummyFolder): response_type='code', # 'code id_token token', state=state, nonce=nonce, code_challenge=codeChallenge, code_challenge_method='S256', - scope='openid profile email', + scope='openid profile email urn:zitadel:iam:user:resourceowner', redirect_uri=self.params['callback_url'], ) #addArgs, codeVerifier = client.add_code_challenge()