Skip to content

Commit

Permalink
require OpenID for register and authorize
Browse files Browse the repository at this point in the history
  • Loading branch information
ib-lundgren committed Jun 26, 2012
1 parent 7205131 commit 49b153d
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
3 changes: 3 additions & 0 deletions examples/demoprovider/provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
from sqlalchemy.orm.exc import NoResultFound
from models import ResourceOwner, Client, Nonce, Callback
from models import RequestToken, AccessToken
from utils import require_openid


class ExampleProvider(OAuthProvider):
Expand All @@ -15,6 +16,7 @@ def enforce_ssl(self):
def realms(self):
return [u"secret", u"trolling"]

@require_openid
def authorize(self):
if request.method == u"POST":
token = request.form.get("oauth_token")
Expand All @@ -24,6 +26,7 @@ def authorize(self):
token = request.args.get(u"oauth_token")
return render_template(u"authorize.html", token=token)

@require_openid
def register(self):
if request.method == u'POST':
client_key = self.generate_client_key()
Expand Down
14 changes: 14 additions & 0 deletions examples/demoprovider/utils.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from functools import wraps
from flask import g, url_for, request, redirect


def require_openid(f):
"""Require user to be logged in."""
@wraps(f)
def decorator(*args, **kwargs):
if g.user is None:
next_url = url_for("login") + "?next=" + request.url
return redirect(next_url)
else:
return f(*args, **kwargs)
return decorator

0 comments on commit 49b153d

Please sign in to comment.