add nix packaging files
This commit is contained in:
parent
cc153ab05c
commit
c4f666c027
118
default.nix
Normal file
118
default.nix
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
python ? pkgs.python39,
|
||||||
|
...}:
|
||||||
|
let
|
||||||
|
urlobject = with python.pkgs; buildPythonPackage rec {
|
||||||
|
pname = "URLObject";
|
||||||
|
version = "2.4.3";
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "47b2e20e6ab9c8366b2f4a3566b6ff4053025dad311c4bb71279bbcfa2430caa";
|
||||||
|
};
|
||||||
|
doCheck = true;
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
flask-dance = with python.pkgs; buildPythonPackage rec {
|
||||||
|
pname = "Flask-Dance";
|
||||||
|
version = "5.1.0";
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "9eb5a404ef1b06a58aabbe5ac496908bda0482af1cf08e8c00188493405842fd";
|
||||||
|
};
|
||||||
|
doCheck = false;
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
requests
|
||||||
|
oauthlib
|
||||||
|
requests_oauthlib
|
||||||
|
flask
|
||||||
|
urlobject
|
||||||
|
];
|
||||||
|
checkInputs = [
|
||||||
|
pytest
|
||||||
|
pytest-mock
|
||||||
|
responses
|
||||||
|
freezegun
|
||||||
|
coverage
|
||||||
|
# testing sqlalchemy support
|
||||||
|
sqlalchemy
|
||||||
|
flask_sqlalchemy
|
||||||
|
# testing integration with other extensions
|
||||||
|
flask_login
|
||||||
|
flask-caching
|
||||||
|
betamax
|
||||||
|
# we need the `signedtoken` extra for `oauthlib`
|
||||||
|
# oauthlib[signedtoken]
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
ldap3-orm = with python.pkgs; buildPythonPackage rec {
|
||||||
|
pname = "ldap3-orm";
|
||||||
|
version = "2.7.0";
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "8783886d4ce90d66da61ce24619593a265b50f0de1fbebe86df95c6788661664";
|
||||||
|
};
|
||||||
|
doCheck = false;
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
ldap3
|
||||||
|
six
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
u2flib-server = {};
|
||||||
|
ory-hydra-client = with python.pkgs; buildPythonPackage rec {
|
||||||
|
pname = "ory-hydra-client";
|
||||||
|
version = "1.10.6";
|
||||||
|
src = fetchPypi {
|
||||||
|
inherit pname version;
|
||||||
|
sha256 = "57f877e55a8f202db27f5cbae9c55a1b1a91848ef46d0cbd3b710ef77882095c";
|
||||||
|
};
|
||||||
|
doCheck = false;
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
urllib3
|
||||||
|
python-dateutil
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
nativeBuildInputs = with python.pkgs; [
|
||||||
|
flask
|
||||||
|
flask-restful
|
||||||
|
flask_sqlalchemy
|
||||||
|
flask_wtf
|
||||||
|
flask-babel
|
||||||
|
flask_login
|
||||||
|
requests
|
||||||
|
requests_oauthlib
|
||||||
|
ldap3
|
||||||
|
ldap3-orm
|
||||||
|
pyotp
|
||||||
|
cryptography
|
||||||
|
blinker
|
||||||
|
ory-hydra-client
|
||||||
|
|
||||||
|
gunicorn
|
||||||
|
|
||||||
|
flask-dance
|
||||||
|
|
||||||
|
#python-u2flib-server
|
||||||
|
|
||||||
|
|
||||||
|
#flask-debug
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
testBuildInputs = with python.pkgs; [
|
||||||
|
pytest
|
||||||
|
pytest-mypy
|
||||||
|
flask_testing
|
||||||
|
tox
|
||||||
|
mypy
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,12 +1,12 @@
|
||||||
from flask.app import Flask
|
from flask.app import Flask
|
||||||
from flask import g, redirect, request
|
from flask import g, redirect, request
|
||||||
from flask.helpers import url_for
|
from flask.helpers import url_for
|
||||||
from jwkest.jwk import RSAKey, rsa_load
|
|
||||||
from flask_babel import Babel
|
from flask_babel import Babel
|
||||||
from flask_login import LoginManager
|
from flask_login import LoginManager
|
||||||
import time
|
import time
|
||||||
import subprocess
|
import subprocess
|
||||||
import ory_hydra_client as hydra
|
import ory_hydra_client as hydra
|
||||||
|
import ory_hydra_client.api.admin_api as hydra_admin_api
|
||||||
|
|
||||||
from ldap3 import Connection, Server, ALL
|
from ldap3 import Connection, Server, ALL
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ def init_app(name=None):
|
||||||
username=app.config['HYDRA_ADMIN_USER'],
|
username=app.config['HYDRA_ADMIN_USER'],
|
||||||
password=app.config['HYDRA_ADMIN_PASSWORD'])
|
password=app.config['HYDRA_ADMIN_PASSWORD'])
|
||||||
hydra_client = hydra.ApiClient(hydra_config)
|
hydra_client = hydra.ApiClient(hydra_config)
|
||||||
app.hydra_api = hydra.AdminApi(hydra_client)
|
app.hydra_api = hydra_admin_api.AdminApi(hydra_client)
|
||||||
|
|
||||||
from .views import auth_views, frontend_views, init_login_manager, api_views, pki_views, admin_views
|
from .views import auth_views, frontend_views, init_login_manager, api_views, pki_views, admin_views
|
||||||
init_login_manager(app)
|
init_login_manager(app)
|
||||||
|
|
|
@ -4,7 +4,6 @@ from flask import current_app, session
|
||||||
from flask import jsonify
|
from flask import jsonify
|
||||||
from flask.helpers import make_response
|
from flask.helpers import make_response
|
||||||
from flask.templating import render_template
|
from flask.templating import render_template
|
||||||
from oic.oic.message import TokenErrorResponse, UserInfoErrorResponse, EndSessionRequest
|
|
||||||
|
|
||||||
from flask import Blueprint, render_template, request, url_for
|
from flask import Blueprint, render_template, request, url_for
|
||||||
import logging
|
import logging
|
||||||
|
|
12
shell.nix
Normal file
12
shell.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
pkgs ? import <nixpkgs> {},
|
||||||
|
python ? pkgs.python39
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
settings = import ./default.nix {inherit pkgs python;};
|
||||||
|
in
|
||||||
|
pkgs.mkShell {
|
||||||
|
# nativeBuildInputs is usually what you want -- tools you need to run
|
||||||
|
nativeBuildInputs = settings.nativeBuildInputs ++ settings.testBuildInputs;
|
||||||
|
}
|
||||||
|
|
|
@ -42,8 +42,4 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
{% block script_js %}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{% endblock %}
|
|
||||||
|
|
Loading…
Reference in a new issue