Example #1
0
def verify_rpt(encoded_rpt):
    encoded_rpt = encoded_rpt["rpt"]
    # testing = db.generate_rpt("http://test.fi/data/efghri123")
    # debug(testing)
    # encoded_rpt = testing
    info("Verifying RPT:" + encoded_rpt)
    try:
        decoded = jwt.decode(encoded_rpt, get_public_key(), algorithms=['RS256'])
        info("RPT decoded successfully.")
        try:
            check = db.get_resourceset_by_rs_id(encode_url(decoded["rs_id"]))
            info("RS_ID exists in our DB")
            debug("ResourceSet: \n {}".format(check))
        except Exception as e:
            info("RS_ID doesn't exist in our DB")
            pass
        debug("RPT: {}".format(decoded))

        return {"status": True}  # TODO: document
    except Exception as e:
        debug("Verifying of RPT failed with: {}".format(error_handler(e, "app.py verify_rpt(encoded_rpt)")))
        return {"status": False}