コード例 #1
0
def test_init_key():
    spec = {
        "type": "RSA",
        "kid": "one"
    }

    filename = full_path("tmp_jwk.json")
    if os.path.isfile(filename):
        os.unlink(filename)

    _key = init_key(filename, **spec)
    assert _key.kty == "RSA"
    assert _key.kid == 'one'

    assert os.path.isfile(filename)

    # Should not lead to any change
    _jwk2 = init_key(filename, **spec)
    assert _key == _jwk2

    _jwk3 = init_key(filename, "RSA", "two")
    assert _key != _jwk3

    # Now _jwk3 is stored in the file
    _jwk4 = init_key(filename, "RSA")
    assert _jwk4 == _jwk3
コード例 #2
0
    def __init__(self, conf: Dict) -> None:
        self.logger = configure_logging(
            config=conf.get('logging')).getChild(__name__)
        self.op = None

        # OIDC provider configuration
        for section in ['op', 'webserver', 'http_params', 'jinja_env']:
            setattr(self, section, conf.get(section, {}))

        # set OP session key
        _key_args = self.op['server_info'].get('session_key')
        if _key_args is not None:
            self.session_key = init_key(**_key_args)
            # self.op['server_info']['password'] = self.session_key
            self.logger.debug("Set server password to %s", self.session_key)

        # templates and Jinja environment
        self.template_dir = os.path.abspath(
            conf.get('template_dir', 'templates'))

        # server info
        self.domain = conf.get("domain")
        self.port = conf.get("port")
        for param in ["server_name", "base_url"]:
            _pre = conf.get(param)
            if _pre:
                if '{domain}' in _pre:
                    setattr(self, param,
                            _pre.format(domain=self.domain, port=self.port))
                else:
                    setattr(self, param, _pre)
コード例 #3
0
ファイル: cookie.py プロジェクト: angelakis/oidcendpoint
    def __init__(
            self,
            sign_key="",
            enc_key="",
            sign_alg="SHA256",
            default_values=None,
            sign_jwk=None,
            enc_jwk=None,
    ):

        if sign_key:
            if isinstance(sign_key, SYMKey):
                self.sign_key = sign_key
            else:
                self.sign_key = SYMKey(k=sign_key)
        elif sign_jwk:
            if isinstance(sign_jwk, dict):
                self.sign_key = init_key(**sign_jwk)
            else:
                self.sign_key = import_jwk(sign_jwk)
        else:
            self.sign_key = None

        self.sign_alg = sign_alg

        if enc_key:
            if isinstance(enc_key, SYMKey):
                self.enc_key = enc_key
            else:
                self.enc_key = SYMKey(k=enc_key)
        elif enc_jwk:
            if isinstance(enc_jwk, dict):
                self.enc_key = init_key(**enc_jwk)
            else:
                self.enc_key = import_jwk(enc_jwk)
        else:
            self.enc_key = None

        if not default_values:
            default_values = {"path": "", "domain": "", "max_age": 0}

        self.default_value = default_values
コード例 #4
0
    def __init__(self, conf: Dict) -> None:
        self.logger = configure_logging(
            config=conf.get('logging')).getChild(__name__)
        self.op = None

        # OIDC provider configuration
        for section in ['op', 'webserver', 'http_params', 'jinja_env']:
            setattr(self, section, conf.get(section, {}))

        # set OP session key
        _key_args = self.op['server_info'].get('session_key')
        if _key_args is not None:
            self.session_key = init_key(**_key_args)
            # self.op['server_info']['password'] = self.session_key
            self.logger.debug("Set server password to %s", self.session_key)

        # templates and Jinja environment
        self.template_dir = os.path.abspath(
            conf.get('template_dir', 'templates'))