aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2024-05-02 05:12:43 +0300
committerFrederick Muriuki Muriithi2024-05-02 05:40:57 +0300
commitb3244a70776b75d9f35a3d1ff6f01fd6244f4e36 (patch)
tree3e39b37204b648136f4f412bcecb4e5ebcd9bcc2
parentabb8ab84cd948edbe9e678aebbaa5a59681c5adc (diff)
downloadgn-auth-b3244a70776b75d9f35a3d1ff6f01fd6244f4e36.tar.gz
Make registration of grant-types more flexible.
-rw-r--r--gn_auth/auth/authorisation/users/admin/views.py12
-rw-r--r--gn_auth/templates/admin/register-client.html16
2 files changed, 19 insertions, 9 deletions
diff --git a/gn_auth/auth/authorisation/users/admin/views.py b/gn_auth/auth/authorisation/users/admin/views.py
index a4c4033..e0ebdf3 100644
--- a/gn_auth/auth/authorisation/users/admin/views.py
+++ b/gn_auth/auth/authorisation/users/admin/views.py
@@ -46,6 +46,17 @@ admin = Blueprint("admin", __name__)
class RegisterClientError(Exception):
"""Error to raise in case of client registration issues"""
+_FORM_GRANT_TYPES_ = ({
+ "name": "Authorization Code",
+ "value": "authorization_code"
+}, {
+ "name": "Refresh Token",
+ "value": "refresh_token"
+}, {
+ "name": "JWT Bearer Token",
+ "value": "urn:ietf:params:oauth:grant-type:jwt-bearer"
+})
+
@admin.before_request
def update_expires():
"""Update session expiration."""
@@ -183,6 +194,7 @@ def register_client():
"admin/register-client.html",
scope=current_app.config["OAUTH2_SCOPE"],
users=with_db_connection(__list_users__),
+ granttypes=_FORM_GRANT_TYPES_,
current_user=session.session_user())
form = request.form
diff --git a/gn_auth/templates/admin/register-client.html b/gn_auth/templates/admin/register-client.html
index 5d525c5..20d7aa2 100644
--- a/gn_auth/templates/admin/register-client.html
+++ b/gn_auth/templates/admin/register-client.html
@@ -43,19 +43,17 @@
<br /><br />
<fieldset>
<legend>Supported grant types</legend>
+ {%for granttype in granttypes%}
<input name="grants[]"
type="checkbox"
- value="authorization_code"
- id="chk-authorization-code"
+ value="{{granttype.value}}"
+ id="chk-{{granttype.name.lower().replace(' ', '-')}}"
checked="checked" />
- <label for="chk-authorization-code">Authorization Code</label>
+ <label for="chk-{{granttype.name.lower().replace(' ', '-')}}">
+ {{granttype.name}}
+ </label>
<br /><br />
-
- <input name="grants[]"
- type="checkbox"
- value="refresh_token"
- id="chk-refresh-token" />
- <label for="chk-refresh-token">Refresh Token</label>
+ {%endfor%}
</fieldset>
</fieldset>