@tapni/auth 0.0.163 → 0.0.165

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/dist/style.css CHANGED
@@ -1 +1 @@
1
- .app-store-icon[data-v-615ed484]{box-shadow:0 4px 10px #00000017;border-radius:12px}#codeInput[data-v-89d98ef3],#emailInput[data-v-89d98ef3],#emailInput[data-v-69a9cfa3]{text-align:center;padding-right:15%;font-size:17px}.fade-enter-to[data-v-17c95816]{opacity:1}.sso-img[data-v-11f19a09]{margin:2px auto 0;width:35px}input[data-v-11f19a09]{margin:0 auto;height:25px}.sso-img[data-v-4f821f65]{margin:2px auto 0;width:35px}input[data-v-4f821f65]{margin:0 auto;height:25px}.link-grid,.user-link-img{width:100%;display:inline-table;position:relative}.link-grid{width:30%;margin:1.6%;padding:1.6%}.link-grid .user-link-img img{border-radius:25%!important}.link-grid .edit-icon{border-radius:20px;right:-3%;top:-3%;position:absolute;z-index:3;max-width:23%;overflow:hidden;min-width:30px}.link-grid .direct-icon{border-radius:20px;left:-3%;top:-3%;position:absolute;z-index:555;max-width:23%;overflow:hidden;min-width:30px}.link-grid .link-text{min-height:20px;margin-top:3px!important;display:block;text-align:center;line-height:normal;overflow-wrap:anywhere}.link-list{width:93%;max-height:67px!important;margin:0 auto;display:flex;border-radius:15px!important;background-color:#fff;border:solid 1px #e8e8e8;position:relative;align-items:center}.link-list .user-link-img{display:inline-block;width:65px;border-radius:25%!important}.link-list .link-text{display:inline-block;padding:18px 0% 17px 10%;font-size:15px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1;text-align:left;border-radius:15px!important}.link-list .edit-icon{border-radius:20px;right:7%;top:30%;position:absolute;z-index:3;width:26px;overflow:hidden}.link-list .switching{width:45px}.link-list .direct-icon{border-radius:20px;left:-2%;top:-13%;position:absolute;z-index:555;width:26px;overflow:hidden}.small{width:22%!important;margin:2% 4% 0%;padding:0%}.small .link-text{margin-top:0!important;font-size:13px}.linkExternal{margin-right:20px;width:20px;display:inline-block!important;height:20px;background:#000;-webkit-mask:url(https://cdn.tapni.co/icons/link-external.svg) no-repeat center;mask:url(https://cdn.tapni.co/icons/link-external.svg) no-repeat center;transform:scale(1.5)}.user-img[data-v-a49a90e5]{margin:2px auto 0;width:65px}input[data-v-a49a90e5]{margin:0 auto;height:25px}html *{font-family:Inter,sans-serif}#bodyId{padding-top:3%;max-width:667px!important;margin:1.5% auto auto;height:95%!important;border-radius:20px}.action-block-top .default-text,.action-block-top .default-text:after{border-radius:50%;width:10em!important;height:10em!important}.action-block-top .default-text{margin:10px auto;font-size:3px;position:relative;text-indent:-9999em;border-left:.5em solid #000000;border-top:.5em solid rgba(0,0,0,.2);border-right:.5em solid rgba(0,0,0,.2);border-bottom:.5em solid rgba(0,0,0,.2);-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.1s infinite linear;animation:load8 1.1s infinite linear}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.smartbanner-ios{background:linear-gradient(to bottom,#f4f4f4,#f4f4f4);box-shadow:0 0 #fff;border-bottom:1px solid #dddddd}.smartbanner-icon{border-radius:16px}.smartbanner-ios .smartbanner-button{font-size:13px;padding:9px 0;height:40px;border-radius:13px;background:#f4f4f4;color:#0a99d2;border:none;box-shadow:none;text-transform:uppercase}.snack-body{display:none;border-radius:40px;font-size:15px!important}#errorSnack{background-color:#fee3e3!important;border:2px solid #edd9d9!important;color:#000}#successSnack{background-color:#eff5eb!important;border:2px solid #e3ecd7!important;color:#000}.grecaptcha-badge{visibility:hidden}.header-logo{position:absolute;left:50%;transform:translate(-50%,-50%);margin-top:0;z-index:2}.header-logo-img{height:40px;margin-top:10px}.container[data-v-f536b602]{padding:20px 20px 100px!important;display:flex;flex-direction:column;gap:20px}.settingsCard[data-v-f536b602]{background-color:#fff;padding:20px;border-radius:26px;align-items:center}.device[data-v-f536b602]{display:flex;align-items:center}h4[data-v-f536b602]{margin-left:20px;font-weight:700}.middle[data-v-f536b602]{flex:1}.left img[data-v-f536b602]{background-color:#f7f8f9;border-radius:20px;padding:10px}.divider[data-v-f536b602]{height:1px;background-color:#f0f0f0;margin:20px 0}.moreFooter[data-v-f536b602]{display:flex;align-items:center;justify-content:space-between;padding:0 10px}
1
+ .app-store-icon[data-v-615ed484]{box-shadow:0 4px 10px #00000017;border-radius:12px}#codeInput[data-v-89d98ef3],#emailInput[data-v-89d98ef3],#emailInput[data-v-69a9cfa3]{text-align:center;padding-right:15%;font-size:17px}.fade-enter-to[data-v-17c95816]{opacity:1}.sso-img[data-v-11f19a09]{margin:2px auto 0;width:35px}input[data-v-11f19a09]{margin:0 auto;height:25px}.sso-img[data-v-4f821f65]{margin:2px auto 0;width:35px}input[data-v-4f821f65]{margin:0 auto;height:25px}.link-grid,.user-link-img{width:100%;display:inline-table;position:relative}.link-grid{width:30%;margin:1.6%;padding:1.6%}.link-grid .user-link-img img{border-radius:25%!important}.link-grid .edit-icon{border-radius:20px;right:-3%;top:-3%;position:absolute;z-index:3;max-width:23%;overflow:hidden;min-width:30px}.link-grid .direct-icon{border-radius:20px;left:-3%;top:-3%;position:absolute;z-index:555;max-width:23%;overflow:hidden;min-width:30px}.link-grid .link-text{min-height:20px;margin-top:3px!important;display:block;text-align:center;line-height:normal;overflow-wrap:anywhere}.link-list{width:93%;max-height:67px!important;margin:0 auto;display:flex;border-radius:15px!important;background-color:#fff;border:solid 1px #e8e8e8;position:relative;align-items:center}.link-list .user-link-img{display:inline-block;width:65px;border-radius:25%!important}.link-list .link-text{display:inline-block;padding:18px 0% 17px 10%;font-size:15px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1;text-align:left;border-radius:15px!important}.link-list .edit-icon{border-radius:20px;right:7%;top:30%;position:absolute;z-index:3;width:26px;overflow:hidden}.link-list .switching{width:45px}.link-list .direct-icon{border-radius:20px;left:-2%;top:-13%;position:absolute;z-index:555;width:26px;overflow:hidden}.small{width:22%!important;margin:2% 4% 0%;padding:0%}.small .link-text{margin-top:0!important;font-size:13px}.linkExternal{margin-right:20px;width:20px;display:inline-block!important;height:20px;background:#000;-webkit-mask:url(https://cdn.tapni.co/icons/link-external.svg) no-repeat center;mask:url(https://cdn.tapni.co/icons/link-external.svg) no-repeat center;transform:scale(1.5)}.user-img[data-v-a49a90e5]{margin:2px auto 0;width:65px}input[data-v-a49a90e5]{margin:0 auto;height:25px}html *{font-family:Inter,sans-serif}#bodyId{padding-top:3%;max-width:667px!important;margin:1.5% auto auto;height:95%!important;border-radius:20px}.action-block-top .default-text,.action-block-top .default-text:after{border-radius:50%;width:10em!important;height:10em!important}.action-block-top .default-text{margin:10px auto;font-size:3px;position:relative;text-indent:-9999em;border-left:.5em solid #000000;border-top:.5em solid rgba(0,0,0,.2);border-right:.5em solid rgba(0,0,0,.2);border-bottom:.5em solid rgba(0,0,0,.2);-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:load8 1.1s infinite linear;animation:load8 1.1s infinite linear}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.smartbanner-ios{background:linear-gradient(to bottom,#f4f4f4,#f4f4f4);box-shadow:0 0 #fff;border-bottom:1px solid #dddddd}.smartbanner-icon{border-radius:16px}.smartbanner-ios .smartbanner-button{font-size:13px;padding:9px 0;height:40px;border-radius:13px;background:#f4f4f4;color:#0a99d2;border:none;box-shadow:none;text-transform:uppercase}.snack-body{display:none;border-radius:40px;font-size:15px!important}#errorSnack{background-color:#fee3e3!important;border:2px solid #edd9d9!important;color:#000}#successSnack{background-color:#eff5eb!important;border:2px solid #e3ecd7!important;color:#000}.grecaptcha-badge{visibility:hidden}.header-logo{position:absolute;left:50%;transform:translate(-50%,-50%);margin-top:0;z-index:2}.header-logo-img{height:40px;margin-top:10px}.container[data-v-992c1e64]{padding:20px 20px 100px!important;display:flex;flex-direction:column;gap:20px}.settingsCard[data-v-992c1e64]{background-color:#fff;padding:20px;border-radius:26px;align-items:center}.device[data-v-992c1e64]{display:flex;align-items:center}h4[data-v-992c1e64]{margin-left:20px;font-weight:700}.middle[data-v-992c1e64]{flex:1}.left img[data-v-992c1e64]{background-color:#f7f8f9;border-radius:20px;padding:10px}.divider[data-v-992c1e64]{height:1px;background-color:#f0f0f0;margin:20px 0}.moreFooter[data-v-992c1e64]{display:flex;align-items:center;justify-content:space-between;padding:0 10px}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tapni/auth",
3
- "version": "0.0.163",
3
+ "version": "0.0.165",
4
4
  "type": "module",
5
5
  "main": "./dist/TapniAuth.umd.js",
6
6
  "module": "./dist/TapniAuth.es.js",
@@ -43,7 +43,9 @@
43
43
  "vue": "^3.3.11",
44
44
  "vue-cookies": "^1.8.3",
45
45
  "vue-router": "^4.2.5",
46
- "vuex": "^4.0.2"
46
+ "vuex": "^4.0.2",
47
+ "vuex-router-sync": "v6.0.0-rc.1"
48
+
47
49
  },
48
50
  "devDependencies": {
49
51
  "@rollup/plugin-inject": "^5.0.5",
package/src/main.js CHANGED
@@ -6,11 +6,15 @@ import VueCookies from 'vue-cookies'
6
6
  import { App } from '@capacitor/app';
7
7
  import { Browser } from '@capacitor/browser';
8
8
  import store from './store/store.js';
9
+ import { sync } from 'vuex-router-sync';
9
10
 
10
11
  const app = createApp(RootApp)
11
12
 
12
13
  app.config.productionTip = false
13
14
 
15
+ // Vuex Router Sync
16
+ sync(store, router);
17
+
14
18
  // Cookies
15
19
  app.use(VueCookies)
16
20
 
@@ -37,7 +37,6 @@ export default {
37
37
  'setToken',
38
38
  'setView',
39
39
  'setStorage',
40
- 'setUserID',
41
40
  'updateLang',
42
41
  'login',
43
42
  'register',
@@ -4,7 +4,7 @@ export default {
4
4
  computed: {
5
5
  home() {
6
6
  if (this.$storex && this.$storex.token && this.$storex.username) {
7
- if (import.meta.env.VITE_APP_MODE === 'npm') return '/' + this.$storex.username + '#gg'
7
+ if (import.meta.env.VITE_APP_MODE === 'npm') return '/' + this.$storex.username
8
8
  if (import.meta.env.VITE_APP_MODE === 'redirect') return '/account'
9
9
  } else return '/welcome'
10
10
  },
@@ -93,7 +93,7 @@ export default {
93
93
  }, this.$storex));
94
94
  if (err) return this.errorHandler(err);
95
95
  if (response.data.auth_code) {
96
- if (this.display === 'npm') {
96
+ if (this.display !== 'popup') {
97
97
  this.loginSetup({ ...response, isModal: this.isModal });
98
98
  await this.getLoggedInAccounts();
99
99
  }
package/src/store/auth.js CHANGED
@@ -97,15 +97,9 @@ export default {
97
97
  refreshTokens = [token, ...refreshTokens.filter(t => t !== token)];
98
98
  state.$storex.refreshTokens = refreshTokens.join(",");
99
99
  },
100
- unsetRefreshToken(state, refreshToken) {
101
- state.$storex.refreshTokens = state.$storex.refreshTokens?.filter(t => t !== refreshToken).join(",");
102
- },
103
100
  setToken(state, token) {
104
101
  state.$storex.token = token;
105
102
  },
106
- setUserID(state, userID) {
107
- state.$storex.UserId = userID;
108
- },
109
103
  updateLang(state, lang) {
110
104
  state.lang = lang;
111
105
  },
@@ -263,7 +257,7 @@ export default {
263
257
  }
264
258
  EventBus.$emit("ssoEvent", { name: "switchAccount", data: { username }, });
265
259
  },
266
- async refreshTokenAction({ commit, state, getters }, data) {
260
+ async refreshTokenAction({ dispatch, commit, state, getters }, data) {
267
261
  if (state.refreshing) {
268
262
  return null;
269
263
  }
@@ -277,7 +271,7 @@ export default {
277
271
  })
278
272
  );
279
273
  if (err && err.response && err.response.data.error === "ACCESS_DENIED") {
280
- commit('logout', { refreshToken: data.refreshToken, sendRequest: false });
274
+ dispatch('logout', { refreshToken: data.refreshToken, sendRequest: false });
281
275
  return location.reload();
282
276
  }
283
277
 
@@ -292,7 +286,7 @@ export default {
292
286
  const [err, response] = await to(AuthService.login(data));
293
287
  if (err) return dispatch('errorHandler', err);
294
288
  if (response.data.success) {
295
- if (state.display === 'npm') {
289
+ if (state.display !== 'popup') {
296
290
  dispatch('loginSetup', { ...response, isModal: data.isModal });
297
291
  await dispatch('getLoggedInAccounts');
298
292
  }
@@ -448,22 +442,23 @@ export default {
448
442
  }
449
443
  commit('setLoggedInUserId', '');
450
444
 
451
- const remainingRefreshTokens = dispatch('unsetRefreshToken', refreshToken);
445
+ const remainingRefreshTokens = await dispatch('unsetRefreshToken', refreshToken);
452
446
 
453
447
  if (remainingRefreshTokens.length >= 1) {
454
448
  Object.keys(state.loggedInAccounts).forEach((username) => {
455
449
  if (state.loggedInAccounts[username].refreshToken === remainingRefreshTokens[0]) {
456
450
 
451
+ commit('setRefreshToken', remainingRefreshTokens[0]);
452
+ commit('setLoggedInUserId', state.loggedInAccounts[username].id);
457
453
  dispatch('refreshTokenAction', state.loggedInAccounts[username]).then(() => {
458
- commit('setLoggedInUserId', state.loggedInAccounts[username].id);
459
- if (state.$storex) {
460
- state.$storex.username = username;
461
- state.$storex.UserId = state.loggedInAccounts[username].id;
462
- }
463
- dispatch('getLoggedInAccounts');
454
+ EventBus.$emit("ssoEvent", { name: "switchAccount", data: { username }, });
464
455
  });
465
456
  }
466
457
  });
458
+ } else {
459
+ if (state.display === "redirect") {
460
+ return router.push('/');
461
+ }
467
462
  }
468
463
  },
469
464
  async getCompanyBySSOEmail({ commit, dispatch }, data) {
@@ -503,7 +498,7 @@ export default {
503
498
  setRefreshToken({ commit }, token) {
504
499
  commit('setRefreshToken', token);
505
500
  },
506
- unsetRefreshToken({ commit, state, dispatch, getters }, refreshToken) {
501
+ async unsetRefreshToken({ commit, state, dispatch, getters }, refreshToken) {
507
502
  let refreshTokens = getters.refreshTokens;
508
503
 
509
504
  // Remove the specified refresh token from the list
@@ -517,9 +512,6 @@ export default {
517
512
  setToken({ commit }, token) {
518
513
  commit('setToken', token);
519
514
  },
520
- setUserID({ commit }, userID) {
521
- commit('setUserID', userID);
522
- },
523
515
  updateLang({ commit }, lang) {
524
516
  commit('updateLang', lang);
525
517
  },
@@ -546,9 +538,9 @@ export default {
546
538
  isLoggedIn: state => {
547
539
  return !!state.$storex.token && state.$storex.token !== "" && state.$storex.token !== "null";
548
540
  },
549
- renderView: state => {
541
+ renderView: (state, getters, rootState) => {
550
542
  if (state.display !== "npm") {
551
- return '';
543
+ return rootState.route?.name;
552
544
  } else return state.view;
553
545
  },
554
546
  appRealm: state => {
@@ -160,6 +160,9 @@ export default {
160
160
  }
161
161
  },
162
162
  async mounted () {
163
+ if (!this.isLoggedIn) {
164
+ return this.$router.push('/');
165
+ }
163
166
  this.getAccountSettings();
164
167
  },
165
168
  methods: {
@@ -190,7 +190,7 @@ export default {
190
190
  this.successSnack(this.ssoLang[this.appLanguage].register_success);
191
191
  this.formButtonText = this.ssoLang[this.appLanguage].check_your_inbox
192
192
  } else if (response.data.message === 'SUCCESS_LOGIN') {
193
- if (this.display === 'npm') {
193
+ if (this.display !== 'popup') {
194
194
  await this.loginSetup({ ...response, isModal: data.isModal });
195
195
  await this.getLoggedInAccounts();
196
196
  }