This file looks large and may slow your browser down if we attempt
to syntax highlight it, so we are showing it without any
pretty colors.
Highlight
it anyway.
1 |
# -*- coding utf-8 -*- |
2 |
# classes/views/oauth.py |
3 |
|
4 |
from flask import Module, jsonify, request, render_template, redirect, url_for |
5 |
import json |
6 |
|
7 |
from swtstore.classes import oauth |
8 |
from swtstore.classes.models.um import User |
9 |
from swtstore.classes.models import Client |
10 |
|
11 |
|
12 |
Oauth = Module(__name__) |
13 |
|
14 |
@Oauth.route('/authorize', methods=['GET', 'POST']) |
15 |
@oauth.authorize_handler |
16 |
def authorize(*args, **kwargs): |
17 |
current_user = User.getCurrentUser() |
18 |
if current_user is None: |
19 |
return render_template('oauth_login.html') |
20 |
|
21 |
if request.method == 'GET': |
22 |
client_id = kwargs.get('client_id') |
23 |
client = Client.query.get(client_id) |
24 |
print '/authorize: ' |
25 |
print client |
26 |
kwargs['client'] = client |
27 |
kwargs['user'] = current_user |
28 |
print kwargs |
29 |
return render_template('authorize.html', **kwargs) |
30 |
|
31 |
confirm = request.form.get('confirm', 'no') |
32 |
print confirm |
33 |
return confirm == 'yes' |
34 |
|
35 |
@Oauth.route('/token', methods=['GET', 'POST']) |
36 |
@oauth.token_handler |
37 |
def access_token(): |
38 |
#print request.form |
39 |
print 'access token touched..' |
40 |
return None |
41 |
|
42 |
@Oauth.route('/errors') |
43 |
def error(): |
44 |
return jsonify(error=request.args.get('error')) |