@sowell/quasar-app-extension-auth 1.6.1 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/boot/router-guards.ts +2 -0
- package/src/components/pages/AuthReporter.vue +47 -16
- package/src/components/pages/FirstLogin.vue +604 -0
- package/src/components/pages/ResetPassword.vue +122 -15
- package/src/components/pages/SetPassword.vue +35 -0
- package/src/composables/auth.ts +11 -1
- package/src/composables/resetPassword.ts +49 -6
- package/src/composables/useMagicLink.ts +208 -0
- package/src/composables/useValidateMagicLink.ts +183 -0
- package/src/injects/prompts.ts +5 -0
- package/src/prompts.js +35 -0
- package/src/routes/index.ts +27 -1
package/package.json
CHANGED
|
@@ -23,6 +23,8 @@ export default boot(({ app, router }: BootInterface) => {
|
|
|
23
23
|
to.path !== LOCAL_LOGIN_ROUTE &&
|
|
24
24
|
to.name !== "update_password" &&
|
|
25
25
|
to.name !== "otp_validation" &&
|
|
26
|
+
to.name !== "first_login" &&
|
|
27
|
+
to.name !== "set_password" &&
|
|
26
28
|
// NOTE: msal hash token
|
|
27
29
|
!to.fullPath.includes("code=")
|
|
28
30
|
) {
|
|
@@ -125,17 +125,30 @@
|
|
|
125
125
|
</div>
|
|
126
126
|
</template>
|
|
127
127
|
</div>
|
|
128
|
-
<div class="error-message-container">
|
|
129
|
-
<div
|
|
130
|
-
v-if="apiErrorMessage"
|
|
131
|
-
class="text-red column justify-center error_input">
|
|
128
|
+
<div v-if="apiErrorMessage" class="error-message-container">
|
|
129
|
+
<div class="text-red column justify-center error_input">
|
|
132
130
|
<ErrorMessage
|
|
133
131
|
:message="apiErrorMessage"
|
|
134
132
|
class="error-message-item" />
|
|
135
133
|
</div>
|
|
136
|
-
<div v-else class="error-placeholder q-mt-sm"></div>
|
|
137
134
|
</div>
|
|
138
135
|
</q-form>
|
|
136
|
+
<div
|
|
137
|
+
v-if="isMagicLinkEnabled"
|
|
138
|
+
class="q-mx-lg first-login-block">
|
|
139
|
+
<div class="first-login-question">
|
|
140
|
+
{{ $t("auth.firstConnectionQuestion") }}
|
|
141
|
+
</div>
|
|
142
|
+
<q-btn
|
|
143
|
+
outline
|
|
144
|
+
no-caps
|
|
145
|
+
class="full-width first-login-button"
|
|
146
|
+
data-cy="activate-account"
|
|
147
|
+
data-testid="activate-account-btn"
|
|
148
|
+
@click="goToFirstLogin">
|
|
149
|
+
{{ $t("auth.activateAccount") }}
|
|
150
|
+
</q-btn>
|
|
151
|
+
</div>
|
|
139
152
|
</div>
|
|
140
153
|
</div>
|
|
141
154
|
<div>
|
|
@@ -227,12 +240,14 @@ export default defineComponent({
|
|
|
227
240
|
IS_OTP,
|
|
228
241
|
icons,
|
|
229
242
|
USE_SSO,
|
|
243
|
+
isMagicLinkEnabled,
|
|
230
244
|
msalAuth,
|
|
231
245
|
msalLoading,
|
|
232
246
|
onSubmit,
|
|
233
247
|
retypeEmail,
|
|
234
248
|
isSubmitBtnDisabled,
|
|
235
|
-
goToOtpValidation
|
|
249
|
+
goToOtpValidation,
|
|
250
|
+
goToFirstLogin
|
|
236
251
|
} = useAuth()
|
|
237
252
|
|
|
238
253
|
const { localStorage } = useQuasar()
|
|
@@ -315,10 +330,12 @@ export default defineComponent({
|
|
|
315
330
|
retypeEmail,
|
|
316
331
|
msalLoading,
|
|
317
332
|
USE_SSO,
|
|
333
|
+
isMagicLinkEnabled,
|
|
318
334
|
msalAuth,
|
|
319
335
|
handleSubmit,
|
|
320
336
|
resetPassword,
|
|
321
|
-
goToPrivacyPolicy
|
|
337
|
+
goToPrivacyPolicy,
|
|
338
|
+
goToFirstLogin
|
|
322
339
|
}
|
|
323
340
|
}
|
|
324
341
|
})
|
|
@@ -379,7 +396,8 @@ export default defineComponent({
|
|
|
379
396
|
}
|
|
380
397
|
|
|
381
398
|
.forgot-password-link {
|
|
382
|
-
font-size:
|
|
399
|
+
font-size: 15px;
|
|
400
|
+
font-weight: 500;
|
|
383
401
|
cursor: pointer;
|
|
384
402
|
color: #001d3d;
|
|
385
403
|
}
|
|
@@ -436,10 +454,6 @@ export default defineComponent({
|
|
|
436
454
|
border: 1px solid #ff8b87 !important;
|
|
437
455
|
}
|
|
438
456
|
|
|
439
|
-
.error-placeholder {
|
|
440
|
-
min-height: 50px;
|
|
441
|
-
}
|
|
442
|
-
|
|
443
457
|
.error-message-container {
|
|
444
458
|
margin: 24px;
|
|
445
459
|
}
|
|
@@ -456,6 +470,27 @@ export default defineComponent({
|
|
|
456
470
|
margin-bottom: 4px;
|
|
457
471
|
}
|
|
458
472
|
|
|
473
|
+
.first-login-block {
|
|
474
|
+
margin-top: 32px;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
.first-login-question {
|
|
478
|
+
font-size: 15px;
|
|
479
|
+
font-weight: 500;
|
|
480
|
+
color: #001d3d;
|
|
481
|
+
margin-top: 25px;
|
|
482
|
+
margin-bottom: 25px;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
.first-login-button {
|
|
486
|
+
height: 65px;
|
|
487
|
+
border-radius: 10px;
|
|
488
|
+
border-color: #40c4ff;
|
|
489
|
+
color: #40c4ff;
|
|
490
|
+
font-size: 16px;
|
|
491
|
+
font-weight: 600;
|
|
492
|
+
}
|
|
493
|
+
|
|
459
494
|
@media (max-width: 389px) {
|
|
460
495
|
.title {
|
|
461
496
|
margin-top: 80px;
|
|
@@ -490,9 +525,5 @@ export default defineComponent({
|
|
|
490
525
|
min-height: 50px;
|
|
491
526
|
padding: 4px 12px;
|
|
492
527
|
}
|
|
493
|
-
|
|
494
|
-
.error-placeholder {
|
|
495
|
-
min-height: 25px;
|
|
496
|
-
}
|
|
497
528
|
}
|
|
498
529
|
</style>
|