adamhajari / spyre

a web application framework for python
MIT License
832 stars 157 forks source link

added authentication to spyre #87

Open Dana-Farber opened 6 years ago

Dana-Farber commented 6 years ago

The following is a working example

from spyre import server

class SimpleApp(server.App):
    title = "Simple App"
    inputs = [{
        "type": "text",
        "key": "words",
        "label": "write words here",
        "value": "hello world",
        "action_id": "simple_html_output"
    }]

    outputs = [{
        "type": "html",
        "id": "simple_html_output"
    }]

    def getHTML(self, params):
        words = params["words"]
        return "Here's what you wrote in the textbox: <b>%s</b>" % words

USERS={"alice":"secret"}

from cherrypy.lib import auth_digest #must import this to compute ha1 digest
digest_auth = {'/': {'tools.auth_digest.on': True,
               'tools.auth_digest.realm': 'wonderland',
               'tools.auth_digest.get_ha1': auth_digest.get_ha1_dict_plain(USERS),
               'tools.auth_digest.key': 'a565c27146791cfb',
}}

app = SimpleApp()
app.launch(config=digest_auth)