From 6509053fa81eee57bef3ad4379e497ef68884a25 Mon Sep 17 00:00:00 2001
From: devStorm <59678453+developStorm@users.noreply.github.com>
Date: Mon, 18 May 2020 02:55:41 -0700
Subject: [PATCH] named key
---
app/dashboard/templates/dashboard/fido_setup.html | 4 +++-
app/dashboard/views/fido_setup.py | 4 +++-
app/models.py | 1 +
server.py | 6 ++++--
4 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/app/dashboard/templates/dashboard/fido_setup.html b/app/dashboard/templates/dashboard/fido_setup.html
index 88318034..424c16fd 100644
--- a/app/dashboard/templates/dashboard/fido_setup.html
+++ b/app/dashboard/templates/dashboard/fido_setup.html
@@ -19,6 +19,9 @@
@@ -53,7 +56,6 @@
}
$("#btnRegisterKey").click(registerKey);
- $('document').ready(registerKey());
diff --git a/app/dashboard/views/fido_setup.py b/app/dashboard/views/fido_setup.py
index 53e8b175..2dd4506c 100644
--- a/app/dashboard/views/fido_setup.py
+++ b/app/dashboard/views/fido_setup.py
@@ -7,7 +7,7 @@ import webauthn
from flask import render_template, flash, redirect, url_for, session
from flask_login import login_required, current_user
from flask_wtf import FlaskForm
-from wtforms import HiddenField, validators
+from wtforms import StringField, HiddenField, validators
from app.config import RP_ID, URL
from app.dashboard.base import dashboard_bp
@@ -18,6 +18,7 @@ from app.dashboard.views.enter_sudo import sudo_required
class FidoTokenForm(FlaskForm):
+ key_name = StringField("key_name", validators=[validators.DataRequired()])
sk_assertion = HiddenField("sk_assertion", validators=[validators.DataRequired()])
@@ -74,6 +75,7 @@ def fido_setup():
uuid=fido_uuid,
public_key=str(fido_credential.public_key, "utf-8"),
sign_count=fido_credential.sign_count,
+ name=fido_token_form.key_name.data,
)
db.session.commit()
diff --git a/app/models.py b/app/models.py
index 4d5f57c3..47c637e9 100644
--- a/app/models.py
+++ b/app/models.py
@@ -130,6 +130,7 @@ class FIDO(db.Model, ModelMixin):
)
public_key = db.Column(db.String(), nullable=False, unique=True)
sign_count = db.Column(db.Integer(), nullable=False)
+ name = db.Column(db.String(128), nullable=False, unique=False)
class User(db.Model, ModelMixin, UserMixin):
diff --git a/server.py b/server.py
index a219b23d..542a2296 100644
--- a/server.py
+++ b/server.py
@@ -148,16 +148,18 @@ def fake_data():
db.session.commit()
FIDO.create(
- credential_id="umR9q5vX61XG7vh7gi8wT0gJ9LkYwHKSzDL5vhtZs3o",
+ credential_id="el29kSg3Ai0c9Tsn9F0vXDdqKrs3jHLeU0J1NLN1Sjs",
uuid="59576167-6c37-4d67-943b-4683b24ff821",
- public_key="pQECAyYgASFYIEjQg3TOuUZJxylLE6gJDNHcNyYVW5hOAZ-vGOY9I_TDIlggfJqIh07bj3n6RVmrEsuozsYPYM6VeJKCeduz0DFp8AY",
+ public_key="pQECAyYgASFYIP8Xb0pXtSlmn8oji445s_FkEZsld6NCxx19YXyEt5h1IlggTw30aVvtA2sn7qyn3BE0Ux5NPJFSmABYZmT_P35Q9EIs",
sign_count=1,
+ name="testA",
)
FIDO.create(
credential_id="4SaUPugJ2sAErSnZil6_5_wXIL-Sk6QdFmNm94IL-_g",
uuid="59576167-6c37-4d67-943b-4683b24ff821",
public_key="pQECAyYgASFYILfse0JIp0a7Gz7n1K8b75_OgV-iliKr52FB-BGzv2R2IlggsPcViY5Dma8XooLWUHtx7X2_px0MsFR_7VRMwT2OHKg",
sign_count=1,
+ name="testB",
)
db.session.commit()