@tapni/auth 1.0.5 → 1.0.6-3.dev
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/README.md +2 -0
- package/dist/.vite/manifest.json +16 -43
- package/dist/.well-known/assetlinks.json +10 -12
- package/dist/.well-known/microsoft-identity-association.json +5 -5
- package/dist/{Apps-DMds3Dv-.js → Apps-XNA4_3B4.js} +34 -34
- package/dist/Billing-Br0-fHed.js +256 -0
- package/dist/CustomApp-CrlbYDOm.js +83 -0
- package/dist/QR-Bvqb60-E.js +41 -0
- package/dist/TapniAuth.es.js +1 -1
- package/dist/TapniAuth.umd.js +49 -23
- package/dist/{install-L-cxSovH.js → install-7FOVy8Ol.js} +6267 -4743
- package/dist/site.webmanifest +11 -1
- package/dist/style.css +1 -1
- package/dist/{web-IFGkBi0t.js → web-UrTMimK1.js} +2 -2
- package/package.json +65 -55
- package/src/.prettierrc.json +16 -0
- package/src/App.vue +326 -269
- package/src/eslint.config.js +15 -0
- package/src/index.js +4 -0
- package/src/install.js +9 -10
- package/src/main.js +54 -57
- package/src/mixins/apple.mixin.js +56 -54
- package/src/mixins/auth.mixin.js +3 -2
- package/src/mixins/global.mixin.js +3 -3
- package/src/mixins/google.mixin.js +53 -54
- package/src/mixins/microsoft.mixin.js +2 -5
- package/src/mixins/okta.mixin.js +1 -1
- package/src/mixins/qr-auth.mixin.js +111 -107
- package/src/mixins/saml.mixin.js +82 -45
- package/src/router/index.js +6 -6
- package/src/routes.js +1 -1
- package/src/services/Api.js +56 -58
- package/src/services/AuthService.js +7 -9
- package/src/services/CompanyService.js +10 -10
- package/src/services/DeviceService.js +3 -3
- package/src/services/UserService.js +48 -45
- package/src/services/UtilService.js +317 -225
- package/src/store/auth.js +485 -549
- package/src/store/constants.js +2 -2
- package/src/store/event-bus.js +22 -22
- package/src/store/locales/cn.js +476 -458
- package/src/store/locales/de.js +478 -517
- package/src/store/locales/en.js +454 -513
- package/src/store/locales/es.js +477 -524
- package/src/store/locales/fr.js +477 -516
- package/src/store/locales/it.js +477 -514
- package/src/store/locales/ja.js +488 -0
- package/src/store/locales/kr.js +477 -491
- package/src/store/locales/lang.js +51 -43
- package/src/store/locales/pt.js +488 -0
- package/src/store/locales/sr.js +477 -492
- package/src/store/locales/tr.js +477 -487
- package/src/store/store.js +6 -6
- package/src/views/Account.vue +36 -8
- package/src/views/Billing.vue +464 -34
- package/src/views/Callback.vue +36 -33
- package/src/views/General.vue +151 -185
- package/src/views/Login.vue +2 -25
- package/src/views/Register.vue +2 -12
- package/src/views/Reset.vue +132 -135
- package/src/views/Security.vue +13 -7
- package/src/views/Verify.vue +153 -151
- package/src/views/Welcome.vue +85 -71
- package/dist/Account-Cuz87g_8.js +0 -153
- package/dist/Billing-BXlQEuNy.js +0 -113
- package/dist/CustomApp-CLCMXmMO.js +0 -83
- package/dist/General-dW73bMoR.js +0 -479
- package/dist/QR-D6ZGcPM0.js +0 -41
- package/dist/index.css +0 -193
- package/dist/web-AXRKjAOB.js +0 -92
- package/src/components/DELETE_Language.vue +0 -168
- package/src/components/DELETE_LinkIcon.vue +0 -288
- package/src/components/DELETE_ModalOverlay.vue +0 -68
- package/src/components/DELETE_OTP.vue +0 -105
- package/src/components/DELETE_SSO.vue +0 -120
- package/src/components/DELETE_SSOPick.vue +0 -166
- package/src/mixins/DELETE_mfa-auth.mixin.js +0 -53
- package/src/mixins/facebook.mixin.js +0 -78
package/src/views/Callback.vue
CHANGED
|
@@ -1,46 +1,49 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
<div class="page-login content-boxed content-boxed-padding">
|
|
3
|
+
<h5 v-if="($route.query.platform === 'android' || $route.query.platform === 'ios') && !isNative" style="text-align: center; width: 80%; margin: 0 auto; margin-top: 260px">
|
|
4
|
+
{{ ssoLang[this.appLanguage].you_will_be_redirected }}<br />
|
|
5
|
+
{{ ssoLang[this.appLanguage].if_redirect_not_directly }}, <span @click="inAppRedirect" style="color: blue; cursor: pointer">{{ ssoLang[this.appLanguage].click_here }}</span
|
|
6
|
+
>.
|
|
7
|
+
</h5>
|
|
8
|
+
<h4 v-else style="text-align: center; width: 80%; margin: 0 auto; margin-top: 260px">{{ ssoLang[this.appLanguage].please_wait }}</h4>
|
|
9
|
+
</div>
|
|
8
10
|
</template>
|
|
9
11
|
|
|
10
12
|
<script>
|
|
11
13
|
/* eslint-disable */
|
|
12
|
-
import OktaMixin from
|
|
13
|
-
import SamlMixin from
|
|
14
|
-
import AuthMixin from
|
|
14
|
+
import OktaMixin from '../mixins/okta.mixin';
|
|
15
|
+
import SamlMixin from '../mixins/saml.mixin';
|
|
16
|
+
import AuthMixin from '../mixins/auth.mixin';
|
|
15
17
|
import { sanitizeUrl } from '@braintree/sanitize-url';
|
|
16
18
|
export default {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
name: 'AuthCallback',
|
|
20
|
+
mixins: [OktaMixin, SamlMixin, AuthMixin],
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
data() {
|
|
23
|
+
return {};
|
|
24
|
+
},
|
|
22
25
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
async mounted() {
|
|
27
|
-
if(this.$route.path === '/callback/auth') {
|
|
28
|
-
this.exchangeAuthCode({
|
|
29
|
-
code: this.$route.query.code
|
|
30
|
-
})
|
|
31
|
-
}
|
|
32
|
-
if(this.$route.path === '/callback/okta') return await this.handleOktaRedirect();
|
|
33
|
-
if(this.$route.path === '/callback/saml') return await this.handleSamlRedirect();
|
|
34
|
-
},
|
|
35
|
-
methods: {
|
|
36
|
-
inAppRedirect() {
|
|
37
|
-
let url = sanitizeUrl(location.href);
|
|
38
|
-
url = url.replace('http', 'tapni')
|
|
39
|
-
url = url.replace('https', 'tapni')
|
|
40
|
-
return window.open(url);
|
|
26
|
+
async mounted() {
|
|
27
|
+
if (this.$route.path === '/callback/redirect') {
|
|
28
|
+
return location.href = atob(this.$route.query.uri);
|
|
41
29
|
}
|
|
42
|
-
|
|
43
|
-
|
|
30
|
+
if (this.$route.path === '/callback/auth') {
|
|
31
|
+
this.exchangeAuthCode({
|
|
32
|
+
code: this.$route.query.code,
|
|
33
|
+
code_verifier: this.$route.query.code_verifier
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
if (this.$route.path === '/callback/okta') return await this.handleOktaRedirect();
|
|
37
|
+
if (this.$route.path === '/callback/saml') return await this.handleSamlRedirect();
|
|
38
|
+
},
|
|
39
|
+
methods: {
|
|
40
|
+
inAppRedirect() {
|
|
41
|
+
let url = sanitizeUrl(location.href);
|
|
42
|
+
url = url.replace('http', 'tapni');
|
|
43
|
+
url = url.replace('https', 'tapni');
|
|
44
|
+
return window.open(url);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
44
47
|
};
|
|
45
48
|
</script>
|
|
46
49
|
|
package/src/views/General.vue
CHANGED
|
@@ -1,193 +1,159 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
>
|
|
82
|
-
<span v-if="!loading">{{ ssoLang[appLanguage].save }}</span>
|
|
83
|
-
<span v-else class="button--loading button__loader"></span>
|
|
84
|
-
</button>
|
|
85
|
-
</form>
|
|
86
|
-
</div>
|
|
87
|
-
</div>
|
|
2
|
+
<div class="page-login content-boxed content-boxed-padding tapni-auth-general">
|
|
3
|
+
<a v-if="isModal" @click="close" class="color-black pull-right pointer" style="margin-top: 0px; position: absolute; right: -20px; text-align: right">
|
|
4
|
+
<i class="font-17 color-black">
|
|
5
|
+
<img src="https://cdn.tapni.co/icons/down-arrow.png" class="responsive-image" style="width: 35%" />
|
|
6
|
+
</i>
|
|
7
|
+
</a>
|
|
8
|
+
<div class="subheaderContainer full-top">
|
|
9
|
+
<!-- Back Button -->
|
|
10
|
+
<div v-if="isModal" class="pointer left-button" @click="$emit('update:viewProp', 'AuthAccount')">
|
|
11
|
+
<img :src="getIcon('arrow-gray-right.svg')" height="20" width="20" class="btn-icon" style="rotate: 180deg" />
|
|
12
|
+
</div>
|
|
13
|
+
<router-link v-else to="/account" class="button gray-button pointer left-button">
|
|
14
|
+
<img :src="getIcon('arrow-gray-right.svg')" height="20" width="20" class="btn-icon" style="rotate: 180deg" />
|
|
15
|
+
</router-link>
|
|
16
|
+
|
|
17
|
+
<!-- Centered Text -->
|
|
18
|
+
<h2 class="center-text" style="flex-grow: 1; text-align: center; margin: 0; font-weight: 600">
|
|
19
|
+
{{ ssoLang[appLanguage].general }}
|
|
20
|
+
</h2>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<div class="container left-text">
|
|
24
|
+
<p class="center-text">{{ ssoLang[appLanguage].general_p }}</p>
|
|
25
|
+
|
|
26
|
+
<form class="full-top" @submit.prevent="submitGeneralUpdate">
|
|
27
|
+
<h3 class="full-top bold small-bottom">{{ ssoLang[appLanguage].personal_details }}</h3>
|
|
28
|
+
|
|
29
|
+
<input type="text" v-model="account.name" :placeholder="ssoLang[appLanguage].name" class="edit-input h-40 lh-40 small-bottom" required style="width: 100%" />
|
|
30
|
+
|
|
31
|
+
<input disabled type="email" v-model="account.email" :placeholder="ssoLang[appLanguage].email" class="bg-white edit-input h-40 lh-40 small-bottom" required style="width: 100%" />
|
|
32
|
+
|
|
33
|
+
<h3 class="full-top bold">{{ ssoLang[appLanguage].app_region }}</h3>
|
|
34
|
+
<VueSelect
|
|
35
|
+
v-if="account.billing"
|
|
36
|
+
v-model="account.billing.region"
|
|
37
|
+
:options="[
|
|
38
|
+
{ label: 'United States', value: 'us' },
|
|
39
|
+
{ label: 'United Kingdom', value: 'uk' },
|
|
40
|
+
{ label: 'European Union', value: 'eu' },
|
|
41
|
+
{ label: 'Mexico', value: 'mx' },
|
|
42
|
+
{ label: 'Mauritius', value: 'mu' },
|
|
43
|
+
{ label: 'Colombia', value: 'co' },
|
|
44
|
+
{ label: 'Serbia', value: 'sr' },
|
|
45
|
+
{ label: 'Singapore', value: 'sg' },
|
|
46
|
+
{ label: 'China', value: 'cn' }
|
|
47
|
+
]"
|
|
48
|
+
:isClearable="false"
|
|
49
|
+
placeholder="Select region"
|
|
50
|
+
/>
|
|
51
|
+
<p v-if="false">Default currency for this region is {{ account.billing?.currency?.toUpperCase() }}</p>
|
|
52
|
+
|
|
53
|
+
<h3 class="full-top bold">{{ ssoLang[appLanguage].app_language }}</h3>
|
|
54
|
+
<VueSelect
|
|
55
|
+
v-model="account.lang"
|
|
56
|
+
:options="[
|
|
57
|
+
{ label: ssoLang[appLanguage].english, value: 'en' },
|
|
58
|
+
{ label: ssoLang[appLanguage].german, value: 'de' },
|
|
59
|
+
{ label: ssoLang[appLanguage].spanish, value: 'es' },
|
|
60
|
+
{ label: ssoLang[appLanguage].italian, value: 'it' },
|
|
61
|
+
{ label: ssoLang[appLanguage].french, value: 'fr' },
|
|
62
|
+
{ label: ssoLang[appLanguage].turkish, value: 'tr' },
|
|
63
|
+
{ label: ssoLang[appLanguage].serbian, value: 'sr' },
|
|
64
|
+
{ label: ssoLang[appLanguage].korean, value: 'kr' },
|
|
65
|
+
{ label: ssoLang[appLanguage].chinese, value: 'cn' },
|
|
66
|
+
{ label: ssoLang[appLanguage].portuguese, value: 'pt' },
|
|
67
|
+
{ label: ssoLang[appLanguage].japanese, value: 'ja' }
|
|
68
|
+
]"
|
|
69
|
+
:isClearable="false"
|
|
70
|
+
placeholder="Select language"
|
|
71
|
+
/>
|
|
72
|
+
<p>Translate the app on your preferred language.</p>
|
|
73
|
+
|
|
74
|
+
<button type="submit" class="button black-button button-full google-button bg-tapni-grey button-90 button-center uppercase bold full-top pointer">
|
|
75
|
+
<span v-if="!loading">{{ ssoLang[appLanguage].save }}</span>
|
|
76
|
+
<span v-else class="button--loading button__loader"></span>
|
|
77
|
+
</button>
|
|
78
|
+
</form>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
88
81
|
</template>
|
|
89
82
|
|
|
90
|
-
|
|
91
83
|
<script>
|
|
92
|
-
import AuthMixin from
|
|
93
|
-
import
|
|
94
|
-
import to from
|
|
95
|
-
import {EventBus} from
|
|
96
|
-
import VueSelect from
|
|
84
|
+
import AuthMixin from '../mixins/auth.mixin';
|
|
85
|
+
import UserService from '../services/UserService';
|
|
86
|
+
import to from 'await-to-js';
|
|
87
|
+
import { EventBus } from '@/store/event-bus.js';
|
|
88
|
+
import VueSelect from 'vue3-select-component';
|
|
97
89
|
|
|
98
90
|
export default {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
91
|
+
name: 'AuthGeneral',
|
|
92
|
+
mixins: [AuthMixin],
|
|
93
|
+
components: {
|
|
94
|
+
VueSelect
|
|
95
|
+
},
|
|
96
|
+
props: {
|
|
97
|
+
isModal: {
|
|
98
|
+
type: Boolean,
|
|
99
|
+
default: false
|
|
100
|
+
},
|
|
101
|
+
payload: {
|
|
102
|
+
type: Object,
|
|
103
|
+
default: {}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
data() {
|
|
107
|
+
return {
|
|
108
|
+
loading: false
|
|
109
|
+
};
|
|
110
|
+
},
|
|
111
|
+
watch: {
|
|
112
|
+
'account.lang': {
|
|
113
|
+
handler(newLang) {
|
|
114
|
+
if (newLang) {
|
|
115
|
+
this.updateLang(newLang);
|
|
116
|
+
if (this.display === 'npm') {
|
|
117
|
+
this.$store.commit('setLanguage', newLang);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
immediate: true
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
async mounted() {
|
|
125
|
+
if (!this.isLoggedIn) this.$router.push('/login');
|
|
126
|
+
await this.getAccountSettings();
|
|
127
|
+
},
|
|
128
|
+
methods: {
|
|
129
|
+
close() {
|
|
130
|
+
EventBus.$emit('ssoEvent', { name: 'toggleAuthModal', data: true });
|
|
131
|
+
},
|
|
132
|
+
async submitGeneralUpdate() {
|
|
133
|
+
this.loading = true;
|
|
134
|
+
console.log(this.account);
|
|
135
|
+
const data = {
|
|
136
|
+
name: this.account.name,
|
|
137
|
+
lang: this.account.lang,
|
|
138
|
+
email: this.account.email,
|
|
139
|
+
billing: this.account.billing
|
|
140
|
+
? {
|
|
141
|
+
region: this.account.billing.region
|
|
142
|
+
}
|
|
143
|
+
: undefined
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
const [err, response] = await to(UserService.updateAccount(data));
|
|
147
|
+
|
|
148
|
+
if (err) {
|
|
149
|
+
this.errorHandler(err);
|
|
150
|
+
} else if (response.data.success) {
|
|
151
|
+
this.successSnack(this.ssoLang[this.appLanguage].profile_update_success);
|
|
152
|
+
await this.getAccountSettings();
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
this.loading = false;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
137
158
|
};
|
|
138
159
|
</script>
|
|
139
|
-
|
|
140
|
-
<style scoped>
|
|
141
|
-
:deep(.vue-select) {
|
|
142
|
-
padding: 5px 0;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
:deep(.vue-select .dropdown-icon) {
|
|
146
|
-
color: #1d1d1d;
|
|
147
|
-
width: 25px!important;
|
|
148
|
-
height: 25px!important;
|
|
149
|
-
}
|
|
150
|
-
:deep(.vue-select .menu-option:hover) {
|
|
151
|
-
background-color: #D9D9D9;
|
|
152
|
-
}
|
|
153
|
-
:deep(.vue-select .menu-option.focused) {
|
|
154
|
-
background-color: #f4f4f4;
|
|
155
|
-
}
|
|
156
|
-
:deep(.vue-select .menu-option) {
|
|
157
|
-
border-bottom: 1px solid #D9D9D9;
|
|
158
|
-
font-size: 15px;
|
|
159
|
-
color: #151515;
|
|
160
|
-
}
|
|
161
|
-
:deep(.vue-select .menu-option:last-child) {
|
|
162
|
-
border-bottom: none;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
:deep(.vue-select .menu) {
|
|
166
|
-
border-radius: 10px;
|
|
167
|
-
border: none;
|
|
168
|
-
}
|
|
169
|
-
:deep(.vue-select .control.focused) {
|
|
170
|
-
border: none;
|
|
171
|
-
box-shadow: none;
|
|
172
|
-
}
|
|
173
|
-
:deep(.vue-select .control) {
|
|
174
|
-
min-height: 54px!important;
|
|
175
|
-
background-color: #F4F4F4;
|
|
176
|
-
border: none;
|
|
177
|
-
border-radius: 10px;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
:deep(.vue-select .menu-option.selected) {
|
|
181
|
-
background-color: #E4E4E4;
|
|
182
|
-
}
|
|
183
|
-
:deep(.vue-select .indicators-container) {
|
|
184
|
-
padding: 5px 15px!important
|
|
185
|
-
}
|
|
186
|
-
:deep(.vue-select .value-container) {
|
|
187
|
-
padding: 5px 15px;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
:deep(.vue-select .menu-option) {
|
|
191
|
-
background-color: #f4f4f4;
|
|
192
|
-
}
|
|
193
|
-
</style>
|
package/src/views/Login.vue
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
/>
|
|
25
25
|
</i>
|
|
26
26
|
</a>
|
|
27
|
-
<h2 class="bold no-bottom center-text" style="margin-top: 63px;">
|
|
27
|
+
<h2 class="bold no-bottom center-text text-[22px]" style="margin-top: 63px;">
|
|
28
28
|
<span v-if="isSSOLogin">{{ this.ssoLang[this.appLanguage].enter_company_email }}</span>
|
|
29
29
|
<span v-else>{{ this.ssoLang[this.appLanguage].login }}</span>
|
|
30
30
|
</h2>
|
|
@@ -152,27 +152,6 @@
|
|
|
152
152
|
<span v-else class="button--loading-black button__loader"></span>
|
|
153
153
|
</a>
|
|
154
154
|
|
|
155
|
-
<!-- Facebook Login Button -->
|
|
156
|
-
<a
|
|
157
|
-
@click="facebookLogin"
|
|
158
|
-
v-if="displayFacebookLogin"
|
|
159
|
-
class="button-center button button-90 google-button pointer"
|
|
160
|
-
>
|
|
161
|
-
<img
|
|
162
|
-
src="https://cdn.tapni.co/icons/facebook-blue.png"
|
|
163
|
-
style="
|
|
164
|
-
position: absolute;
|
|
165
|
-
margin-left: -9px;
|
|
166
|
-
padding: 10px 0;
|
|
167
|
-
height: 100%;
|
|
168
|
-
"
|
|
169
|
-
/>
|
|
170
|
-
<span v-if="!facebookLoad"
|
|
171
|
-
>{{ ssoLang[appLanguage].sign_in_with }} Facebook</span
|
|
172
|
-
>
|
|
173
|
-
<span v-else class="button--loading-black button__loader"></span>
|
|
174
|
-
</a>
|
|
175
|
-
|
|
176
155
|
<!-- Microsoft Login Button -->
|
|
177
156
|
<a
|
|
178
157
|
@click="microsoftLogin"
|
|
@@ -314,7 +293,6 @@
|
|
|
314
293
|
|
|
315
294
|
<script>
|
|
316
295
|
import GoogleMixin from "../mixins/google.mixin";
|
|
317
|
-
import FacebookMixin from "../mixins/facebook.mixin";
|
|
318
296
|
import AppleMixin from "../mixins/apple.mixin";
|
|
319
297
|
import MicrosoftMixin from "../mixins/microsoft.mixin";
|
|
320
298
|
import OktaMixin from "../mixins/okta.mixin";
|
|
@@ -325,7 +303,7 @@ import { EventBus } from "../store/event-bus";
|
|
|
325
303
|
import to from "await-to-js";
|
|
326
304
|
export default {
|
|
327
305
|
name: "AuthLogin",
|
|
328
|
-
mixins: [GoogleMixin,
|
|
306
|
+
mixins: [GoogleMixin, AppleMixin, MicrosoftMixin, OktaMixin, SamlMixin, AuthMixin, QRAuthMixin],
|
|
329
307
|
data() {
|
|
330
308
|
return {
|
|
331
309
|
loading: true,
|
|
@@ -383,7 +361,6 @@ export default {
|
|
|
383
361
|
else {
|
|
384
362
|
ssoTypes = Object.keys(response.sso);
|
|
385
363
|
if (!ssoTypes.length) {
|
|
386
|
-
this.forceClose();
|
|
387
364
|
return this.errorSnack(this.ssoLang[this.appLanguage].no_sso_logins);
|
|
388
365
|
} else {
|
|
389
366
|
if (ssoTypes[0] === "azure")
|
package/src/views/Register.vue
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<img src="https://cdn.tapni.co/icons/down-arrow.png" class="responsive-image" style="width: 35%;"/>
|
|
6
6
|
</i>
|
|
7
7
|
</a>
|
|
8
|
-
<h1 class="bold no-bottom center-text" style="margin-top: 63px;">{{ssoLang[this.appLanguage].register}}</h1>
|
|
8
|
+
<h1 class="bold no-bottom center-text text-[24px]" style="margin-top: 63px;">{{ssoLang[this.appLanguage].register}}</h1>
|
|
9
9
|
<p class="half-bottom small-top center-text color-black">
|
|
10
10
|
<span v-if="usernameRegister">
|
|
11
11
|
t.link/{{username}} {{ssoLang[this.appLanguage].username_is_free}} ✅
|
|
@@ -66,15 +66,6 @@
|
|
|
66
66
|
<span v-else class="button--loading-black button__loader"></span>
|
|
67
67
|
</a>
|
|
68
68
|
|
|
69
|
-
<!-- Facebook Login Button -->
|
|
70
|
-
<a v-if="displayFacebookLogin"
|
|
71
|
-
@click="facebookLogin"
|
|
72
|
-
class="button-center button button-90 google-button pointer">
|
|
73
|
-
<img src="https://cdn.tapni.co/icons/facebook-blue.png" style="position: absolute; margin-left: -10px; padding: 10px 0; height: 100%;"/>
|
|
74
|
-
<span v-if="!facebookLoad">{{ssoLang[this.appLanguage].sign_up_with}} Facebook</span>
|
|
75
|
-
<span v-else class="button--loading-black button__loader"></span>
|
|
76
|
-
</a>
|
|
77
|
-
|
|
78
69
|
<!-- Email Login Button -->
|
|
79
70
|
<a @click="emailLogin = true" v-if="!emailLogin"
|
|
80
71
|
class="button-center button button-90 google-button pointer">
|
|
@@ -103,14 +94,13 @@
|
|
|
103
94
|
|
|
104
95
|
<script>
|
|
105
96
|
import GoogleMixin from '../mixins/google.mixin'
|
|
106
|
-
import FacebookMixin from '../mixins/facebook.mixin'
|
|
107
97
|
import AppleMixin from '../mixins/apple.mixin'
|
|
108
98
|
import MicrosoftMixin from '../mixins/microsoft.mixin'
|
|
109
99
|
import {EventBus} from "../store/event-bus";
|
|
110
100
|
import AuthMixin from "../mixins/auth.mixin";
|
|
111
101
|
export default {
|
|
112
102
|
name: 'AuthRegister',
|
|
113
|
-
mixins: [GoogleMixin,
|
|
103
|
+
mixins: [GoogleMixin, AppleMixin, MicrosoftMixin, AuthMixin],
|
|
114
104
|
props: {
|
|
115
105
|
isModal: {
|
|
116
106
|
type: Boolean,
|