Ejemplo n.º 1
0
 def unpack_post(self):
     _dict = parse_qs(get_post(self.environ))
     logger.debug("unpack_post:: %s", _dict)
     try:
         return dict([(k, v[0]) for k, v in _dict.items()])
     except Exception:
         return None
Ejemplo n.º 2
0
def do_verify(environ, start_response, _):
    query_str = get_post(environ)
    if not isinstance(query_str, six.string_types):
        query_str = query_str.decode("ascii")
    query = parse_qs(query_str)

    logger.debug("do_verify: %s", query)

    try:
        _ok, user = verify_username_and_password(query)
    except KeyError:
        _ok = False
        user = None

    if not _ok:
        resp = Unauthorized("Unknown user or wrong password")
    else:
        uid = rndstr(24)
        IDP.cache.uid2user[uid] = user
        IDP.cache.user2uid[user] = uid
        logger.debug("Register %s under '%s'", user, uid)

        kaka = set_cookie("idpauthn", "/", uid, query["authn_reference"][0])

        lox = "%s?id=%s&key=%s" % (query["redirect_uri"][0], uid, query["key"][0])
        logger.debug("Redirect => %s", lox)
        resp = Redirect(lox, headers=[kaka], content="text/html")

    return resp(environ, start_response)
Ejemplo n.º 3
0
def do_verify(environ, start_response, _):
    query = parse_qs(get_post(environ))

    logger.debug("do_verify: %s", query)

    try:
        _ok, user = verify_username_and_password(query)
    except KeyError:
        _ok = False
        user = None

    if not _ok:
        resp = Unauthorized("Unknown user or wrong password")
    else:
        uid = rndstr(24)
        IDP.cache.uid2user[uid] = user
        IDP.cache.user2uid[user] = uid
        logger.debug("Register %s under '%s'", user, uid)

        kaka = set_cookie("idpauthn", "/", uid, query["authn_reference"][0])

        lox = "%s?id=%s&key=%s" % (query["redirect_uri"][0], uid,
                                   query["key"][0])
        logger.debug("Redirect => %s", lox)
        resp = Redirect(lox, headers=[kaka], content="text/html")

    return resp(environ, start_response)
Ejemplo n.º 4
0
 def unpack_post(self):
     _dict = parse_qs(get_post(self.environ))
     logger.debug("unpack_post:: %s", _dict)
     try:
         return dict([(k, v[0]) for k, v in _dict.items()])
     except Exception:
         return None
Ejemplo n.º 5
0
 def unpack_soap(self):
     try:
         query = get_post(self.environ)
         return {"SAMLRequest": query, "RelayState": ""}
     except Exception:
         return None
Ejemplo n.º 6
0
 def unpack_soap(self):
     try:
         query = get_post(self.environ)
         return {"SAMLResponse": query, "RelayState": ""}
     except Exception:
         return None
Ejemplo n.º 7
0
 def unpack_post(self):
     _dict = parse_qs(get_post(self.environ).decode("utf8"))
     logger.debug("unpack_post:: %s", _dict)
     return dict([(k, v[0]) for k, v in _dict.items()])
Ejemplo n.º 8
0
 def unpack_post(self):
     _dict = parse_qs(get_post(self.environ).decode("utf8"))
     logger.debug("unpack_post:: %s", _dict)
     return dict([(k, v[0]) for k, v in _dict.items()])