Matthew Wild feabed6565 Register as an OAuth client and authenticate token requests
mod_http_oauth2 in prosody-modules was updated to require client
authentication for the password grant, which previously did not need
client authentication.

This means that the first request we make to Prosody will now register as a
client in order to obtain client_id and client_secret.

There is no real security gain from this approach (unlike other grant types,
the password grant does not do redirects which could be intercepted). In the
future, however, some security could be gained by having Prosody restrict
the ability to use the password grant to privileged OAuth clients. This would
prevent third-party OAuth clients from using the password grant which is not
suitable for that purpose.
2025-06-02 11:36:08 +01:00
2021-02-03 18:30:38 +01:00
2021-01-17 20:11:26 +01:00
2021-01-23 12:53:29 +01:00
2022-05-30 20:51:37 +02:00
2021-01-22 15:29:58 +01:00
2020-02-17 16:10:42 +00:00
2023-08-02 22:35:32 +02:00
2021-01-21 18:09:57 +01:00
2021-01-17 20:11:26 +01:00

Snikket Web Portal

Screenshot of the app

Development quickstart

$ direnv allow
$ cp example.env .env
$ $EDITOR .env  # to adapt the configuration to your needs
$ pip install -r requirements.txt
$ pip install -r build-requirements.txt
$ make
$ quart run

Configuring

Purely via environment variables

For a list of required and understood environment variables as well as their semantics, please refer to example.env.

Via python code

In addition to statically setting environment variables, it is possible to initialise the environment variables in a python file. To do that, pass the path to the python file as SNIKKET_WEB_PYENV environment variable.

The python file is evaluated before further environment variable processing takes place. Every name defined in that file which begins with an upper case ASCII letter is included in the processing of environment variables for configuration purposes.

For a (non-productive) example of such a file, see example.env.py.

Description
This is the web portal for Snikket Chat services. To learn more about what Snikket Chat services are, check the website.
Readme AGPL-3.0 4.8 MiB
Languages
Python 46.1%
HTML 34.7%
SCSS 13.3%
Jinja 2.9%
Shell 1%
Other 2%