From fe90a80abffda57bff9bfc6bf28805fe0ff9a47a Mon Sep 17 00:00:00 2001 From: Piotr Dobrowolski Date: Wed, 11 Oct 2017 01:58:50 +0200 Subject: [PATCH] Add approved clients Approved client is differentiated by green tick by its name on authorization request page. --- auth.py | 7 +++++-- templates/oauthorize.html | 4 +++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/auth.py b/auth.py index 061061f..9bd02c0 100644 --- a/auth.py +++ b/auth.py @@ -8,7 +8,8 @@ from cached_property import cached_property import flask from flask import Flask, render_template, make_response, flash, redirect, url_for from flask_oauthlib.provider import OAuth2Provider -from flask_login import LoginManager, login_user, login_required, current_user +from flask_login import LoginManager, login_user, logout_user, \ + login_required, current_user from flask_sqlalchemy import SQLAlchemy from flask_wtf import FlaskForm from wtforms import StringField, PasswordField @@ -43,6 +44,8 @@ class Client(db.Model): redirect_uris_ = db.Column(db.Text) default_scopes_ = db.Column(db.Text) + approved = db.Column(db.Boolean, default=False) + @property def client_type(self): if self.is_confidential: @@ -64,7 +67,7 @@ class Client(db.Model): if self.default_scopes_: return self.default_scopes_.split() return [] - + def validate_scopes(self, scopes): return {'profile:read', 'profile:write', 'password:write', \ 'users:read'}.issuperset(scopes) diff --git a/templates/oauthorize.html b/templates/oauthorize.html index 9a96100..e6877e3 100644 --- a/templates/oauthorize.html +++ b/templates/oauthorize.html @@ -3,7 +3,9 @@ {% block content %}
-

{{ client.name }}

+

{{ client.name }} + {% if client.approved %}{% endif %} +

This app would like to: