flask-spaceauth/example.py

38 lines
1019 B
Python

from flask import Flask, request, url_for, Markup, get_flashed_messages
from spaceauth import SpaceAuth, login_required, cap_required, current_user
app = Flask("spaceauth-example")
app.config["SECRET_KEY"] = "testing"
app.config["SPACEAUTH_CONSUMER_KEY"] = "17817145-de34-4547-b067-64632f04156a"
app.config["SPACEAUTH_CONSUMER_SECRET"] = "SbZGSw8UgV9uWXvQzxn10czBBTLpE7"
auth = SpaceAuth(app)
@app.route("/")
def index():
return Markup(
'<pre>%r</pre>Hey! <a href="%s">Login with spaceauth</a> / <a href="%s">Logout</a> / %r / <a href="%s">Members only space</a>'
) % (
get_flashed_messages(),
url_for("spaceauth.login"),
url_for("spaceauth.logout"),
current_user.get_id(),
url_for("profile"),
)
@app.route("/profile")
@login_required
def profile():
return Markup("Hey {}!").format(current_user.get_id())
@app.route("/staff")
@cap_required("staff")
def staff_only():
return "This is staff-only zone!"
if __name__ == "__main__":
app.run()