File tree Expand file tree Collapse file tree
app/assets/javascript/devise Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -19,6 +19,8 @@ export class WebauthnCreateElement extends HTMLElement {
1919 }
2020
2121 this . closest ( 'form' ) . addEventListener ( 'submit' , async ( event ) => {
22+ if ( this . dataset . ceremonyCompleted ) return ;
23+
2224 event . preventDefault ( ) ;
2325
2426 try {
@@ -28,8 +30,10 @@ export class WebauthnCreateElement extends HTMLElement {
2830
2931 this . querySelector ( '[data-webauthn-target="response"]' ) . value = await this . stringifyRegistrationCredentialWithGracefullyHandlingAuthenticatorIssues ( credential ) ;
3032
31- this . closest ( 'form' ) . submit ( ) ;
33+ this . dataset . ceremonyCompleted = "true" ;
34+ this . closest ( 'form' ) . requestSubmit ( ) ;
3235 } catch ( error ) {
36+ delete this . dataset . ceremonyCompleted ;
3337 this . handleError ( error ) ;
3438 }
3539 } ) ;
@@ -100,6 +104,8 @@ export class WebauthnGetElement extends HTMLElement {
100104 }
101105
102106 this . closest ( 'form' ) . addEventListener ( 'submit' , async ( event ) => {
107+ if ( this . dataset . ceremonyCompleted ) return ;
108+
103109 event . preventDefault ( ) ;
104110
105111 try {
@@ -109,8 +115,10 @@ export class WebauthnGetElement extends HTMLElement {
109115
110116 this . querySelector ( '[data-webauthn-target="response"]' ) . value = await this . stringifyAuthenticationCredentialWithGracefullyHandlingAuthenticatorIssues ( credential ) ;
111117
112- this . closest ( 'form' ) . submit ( ) ;
118+ this . dataset . ceremonyCompleted = "true" ;
119+ this . closest ( 'form' ) . requestSubmit ( ) ;
113120 } catch ( error ) {
121+ delete this . dataset . ceremonyCompleted ;
114122 this . handleError ( error ) ;
115123 }
116124 } ) ;
You can’t perform that action at this time.
0 commit comments