stages: add WebAuthn stage (#550)

* core: add User.uid for globally unique user ID

* admin: fix ?next for Flow list

* stages: add initial webauthn implementation

* web: add ak-flow-submit event to submit flow stage

* web: show error message for webauthn registration

* admin: fix next param not redirecting correctly

* stages/webauthn: remove form

* stages/webauthn: add API

* web: update flow diagram on ak-refresh

* stages/webauthn: add initial authentication

* stages/webauthn: initial authentication implementation

* web: cleanup webauthn utils

* stages: rename otp_* to authenticator and move webauthn to authenticator

* docs: fix broken links

* stages/authenticator_*: fix template paths

* stages/authenticator_validate: add device classes

* stages/authenticator_webauthn: implement django_otp.devices

* stages/authenticator_*: update default stage names

* web: add button to create stage on flow page

* web: don't minify HTML, remove nbsp

* admin: fix typo in stage list

* stages/*: use common base class for stage serializer

* stages/authenticator_*: create default objects after rename

* tests/e2e: adjust stage order
This commit is contained in:
Jens L
2021-02-17 20:49:58 +01:00
committed by GitHub
parent e020b8bf32
commit 8708e487ae
128 changed files with 2949 additions and 874 deletions

View File

@ -60,16 +60,16 @@ export class FlowListPage extends TablePage<Flow> {
${gettext("Edit")}
</ak-spinner-button>
<div slot="modal"></div>
</ak-modal-button>&nbsp;
</ak-modal-button>
<ak-modal-button href="${Flow.adminUrl(`${item.pk}/delete/`)}">
<ak-spinner-button slot="trigger" class="pf-m-danger">
${gettext("Delete")}
</ak-spinner-button>
<div slot="modal"></div>
</ak-modal-button>&nbsp;
</ak-modal-button>
<a class="pf-c-button pf-m-secondary ak-root-link" href="${Flow.adminUrl(`${item.pk}/execute/?next=/%23${window.location.href}`)}">
${gettext("Execute")}
</a>&nbsp;
</a>
<a class="pf-c-button pf-m-secondary ak-root-link" href="${Flow.adminUrl(`${item.pk}/export/`)}">
${gettext("Export")}
</a>
@ -84,7 +84,7 @@ export class FlowListPage extends TablePage<Flow> {
${gettext("Create")}
</ak-spinner-button>
<div slot="modal"></div>
</ak-modal-button>&nbsp;
</ak-modal-button>
<ak-modal-button href=${Flow.adminUrl("import/")}>
<ak-spinner-button slot="trigger" class="pf-m-secondary">
${gettext("Import")}