jwtbutler 1.9.6 → 1.9.8

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 CHANGED
@@ -71,7 +71,8 @@ const api = new jwtbutler({
71
71
  captcha: {
72
72
  provider: 'hcaptcha',
73
73
  sitekey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
74
- theme: 'light'
74
+ theme: 'light',
75
+ language: 'en'
75
76
  }
76
77
  });
77
78
  ```
@@ -186,6 +187,10 @@ api.fetch('https://example-auth-page2.vielhuber.dev/protected/', {
186
187
  api.logout().then(() => {
187
188
  alert('logged out everywhere!');
188
189
  });
190
+
191
+ // manage passkeys
192
+ api.passkeyRegister();
193
+ api.passkeyDelete(42);
189
194
  ```
190
195
 
191
196
  ## styling
@@ -131,6 +131,33 @@ class jwtbutler {
131
131
  });
132
132
  });
133
133
  }
134
+ passkeyDelete(id) {
135
+ return new Promise((resolve, reject) => {
136
+ if (this.isLoggedIn() === false) {
137
+ reject();
138
+ return;
139
+ }
140
+ this.addLoadingState('logging-in');
141
+ fetch(this.config.auth_server + '/passkey-delete', {
142
+ method: 'POST',
143
+ body: JSON.stringify({
144
+ id: id
145
+ }),
146
+ headers: {
147
+ 'content-type': 'application/json',
148
+ Authorization: 'Bearer ' + _helpers.default.cookieGet('access_token')
149
+ },
150
+ cache: 'no-cache'
151
+ }).then(res => res.json()).catch(error => error).then(response => {
152
+ this.removeLoadingStates();
153
+ if (response !== undefined && response !== null && response.success === true) {
154
+ resolve(response);
155
+ } else {
156
+ reject(response);
157
+ }
158
+ });
159
+ });
160
+ }
134
161
  passkeyLogin() {
135
162
  let login = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
136
163
  return new Promise((resolve, reject) => {
@@ -464,10 +491,14 @@ class jwtbutler {
464
491
  resolve();
465
492
  return;
466
493
  }
467
- captcha.setAttribute('data-widget-id', window.hcaptcha.render(captcha, {
494
+ let options = {
468
495
  sitekey: this.config.captcha.sitekey,
469
496
  theme: this.config.captcha.theme || 'light'
470
- }));
497
+ };
498
+ if ('language' in this.config.captcha && this.config.captcha.language !== '') {
499
+ options.hl = this.config.captcha.language;
500
+ }
501
+ captcha.setAttribute('data-widget-id', window.hcaptcha.render(captcha, options));
471
502
  resolve();
472
503
  }).catch(error => {
473
504
  reject(error);
package/package.json CHANGED
@@ -81,7 +81,7 @@
81
81
  "jest-environment-node": "30.4.1"
82
82
  },
83
83
  "name": "jwtbutler",
84
- "version": "1.9.6",
84
+ "version": "1.9.8",
85
85
  "description": "",
86
86
  "main": "_js/_build/script.js",
87
87
  "files": [