@authsome/client 0.0.8 → 0.0.9

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@authsome/client",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "description": "TypeScript client for AuthSome authentication",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/client.ts CHANGED
@@ -3,35 +3,35 @@
3
3
  import { ClientPlugin } from './plugin';
4
4
  import { createErrorFromResponse } from './errors';
5
5
  import * as types from './types';
6
- import { PermissionsPlugin } from './plugins/permissions';
7
- import { IdverificationPlugin } from './plugins/idverification';
8
- import { TwofaPlugin } from './plugins/twofa';
9
- import { JwtPlugin } from './plugins/jwt';
10
- import { AdminPlugin } from './plugins/admin';
11
- import { ApikeyPlugin } from './plugins/apikey';
12
- import { EmailverificationPlugin } from './plugins/emailverification';
13
- import { BackupauthPlugin } from './plugins/backupauth';
14
- import { StepupPlugin } from './plugins/stepup';
15
6
  import { MultiappPlugin } from './plugins/multiapp';
16
- import { AnonymousPlugin } from './plugins/anonymous';
17
- import { MultisessionPlugin } from './plugins/multisession';
18
- import { NotificationPlugin } from './plugins/notification';
19
7
  import { PasskeyPlugin } from './plugins/passkey';
20
8
  import { PhonePlugin } from './plugins/phone';
21
9
  import { WebhookPlugin } from './plugins/webhook';
22
- import { SocialPlugin } from './plugins/social';
10
+ import { ImpersonationPlugin } from './plugins/impersonation';
23
11
  import { CmsPlugin } from './plugins/cms';
24
12
  import { OidcproviderPlugin } from './plugins/oidcprovider';
25
- import { OrganizationPlugin } from './plugins/organization';
26
- import { SsoPlugin } from './plugins/sso';
27
- import { MagiclinkPlugin } from './plugins/magiclink';
28
- import { UsernamePlugin } from './plugins/username';
13
+ import { EmailotpPlugin } from './plugins/emailotp';
14
+ import { BackupauthPlugin } from './plugins/backupauth';
15
+ import { TwofaPlugin } from './plugins/twofa';
16
+ import { SocialPlugin } from './plugins/social';
17
+ import { AdminPlugin } from './plugins/admin';
18
+ import { EmailverificationPlugin } from './plugins/emailverification';
29
19
  import { ConsentPlugin } from './plugins/consent';
20
+ import { StepupPlugin } from './plugins/stepup';
21
+ import { JwtPlugin } from './plugins/jwt';
22
+ import { MfaPlugin } from './plugins/mfa';
30
23
  import { SecretsPlugin } from './plugins/secrets';
31
- import { ImpersonationPlugin } from './plugins/impersonation';
32
- import { EmailotpPlugin } from './plugins/emailotp';
24
+ import { UsernamePlugin } from './plugins/username';
25
+ import { MagiclinkPlugin } from './plugins/magiclink';
26
+ import { OrganizationPlugin } from './plugins/organization';
27
+ import { SsoPlugin } from './plugins/sso';
28
+ import { IdverificationPlugin } from './plugins/idverification';
29
+ import { NotificationPlugin } from './plugins/notification';
30
+ import { MultisessionPlugin } from './plugins/multisession';
31
+ import { PermissionsPlugin } from './plugins/permissions';
32
+ import { AnonymousPlugin } from './plugins/anonymous';
33
+ import { ApikeyPlugin } from './plugins/apikey';
33
34
  import { CompliancePlugin } from './plugins/compliance';
34
- import { MfaPlugin } from './plugins/mfa';
35
35
 
36
36
  /**
37
37
  * AuthSome client configuration
@@ -163,35 +163,35 @@ export class AuthsomeClient {
163
163
  }
164
164
 
165
165
  public readonly $plugins = {
166
- permissions: (): PermissionsPlugin | undefined => this.getPlugin<PermissionsPlugin>('permissions'),
167
- idverification: (): IdverificationPlugin | undefined => this.getPlugin<IdverificationPlugin>('idverification'),
168
- twofa: (): TwofaPlugin | undefined => this.getPlugin<TwofaPlugin>('twofa'),
169
- jwt: (): JwtPlugin | undefined => this.getPlugin<JwtPlugin>('jwt'),
170
- admin: (): AdminPlugin | undefined => this.getPlugin<AdminPlugin>('admin'),
171
- apikey: (): ApikeyPlugin | undefined => this.getPlugin<ApikeyPlugin>('apikey'),
172
- emailverification: (): EmailverificationPlugin | undefined => this.getPlugin<EmailverificationPlugin>('emailverification'),
173
- backupauth: (): BackupauthPlugin | undefined => this.getPlugin<BackupauthPlugin>('backupauth'),
174
- stepup: (): StepupPlugin | undefined => this.getPlugin<StepupPlugin>('stepup'),
175
166
  multiapp: (): MultiappPlugin | undefined => this.getPlugin<MultiappPlugin>('multiapp'),
176
- anonymous: (): AnonymousPlugin | undefined => this.getPlugin<AnonymousPlugin>('anonymous'),
177
- multisession: (): MultisessionPlugin | undefined => this.getPlugin<MultisessionPlugin>('multisession'),
178
- notification: (): NotificationPlugin | undefined => this.getPlugin<NotificationPlugin>('notification'),
179
167
  passkey: (): PasskeyPlugin | undefined => this.getPlugin<PasskeyPlugin>('passkey'),
180
168
  phone: (): PhonePlugin | undefined => this.getPlugin<PhonePlugin>('phone'),
181
169
  webhook: (): WebhookPlugin | undefined => this.getPlugin<WebhookPlugin>('webhook'),
182
- social: (): SocialPlugin | undefined => this.getPlugin<SocialPlugin>('social'),
170
+ impersonation: (): ImpersonationPlugin | undefined => this.getPlugin<ImpersonationPlugin>('impersonation'),
183
171
  cms: (): CmsPlugin | undefined => this.getPlugin<CmsPlugin>('cms'),
184
172
  oidcprovider: (): OidcproviderPlugin | undefined => this.getPlugin<OidcproviderPlugin>('oidcprovider'),
185
- organization: (): OrganizationPlugin | undefined => this.getPlugin<OrganizationPlugin>('organization'),
186
- sso: (): SsoPlugin | undefined => this.getPlugin<SsoPlugin>('sso'),
187
- magiclink: (): MagiclinkPlugin | undefined => this.getPlugin<MagiclinkPlugin>('magiclink'),
188
- username: (): UsernamePlugin | undefined => this.getPlugin<UsernamePlugin>('username'),
173
+ emailotp: (): EmailotpPlugin | undefined => this.getPlugin<EmailotpPlugin>('emailotp'),
174
+ backupauth: (): BackupauthPlugin | undefined => this.getPlugin<BackupauthPlugin>('backupauth'),
175
+ twofa: (): TwofaPlugin | undefined => this.getPlugin<TwofaPlugin>('twofa'),
176
+ social: (): SocialPlugin | undefined => this.getPlugin<SocialPlugin>('social'),
177
+ admin: (): AdminPlugin | undefined => this.getPlugin<AdminPlugin>('admin'),
178
+ emailverification: (): EmailverificationPlugin | undefined => this.getPlugin<EmailverificationPlugin>('emailverification'),
189
179
  consent: (): ConsentPlugin | undefined => this.getPlugin<ConsentPlugin>('consent'),
180
+ stepup: (): StepupPlugin | undefined => this.getPlugin<StepupPlugin>('stepup'),
181
+ jwt: (): JwtPlugin | undefined => this.getPlugin<JwtPlugin>('jwt'),
182
+ mfa: (): MfaPlugin | undefined => this.getPlugin<MfaPlugin>('mfa'),
190
183
  secrets: (): SecretsPlugin | undefined => this.getPlugin<SecretsPlugin>('secrets'),
191
- impersonation: (): ImpersonationPlugin | undefined => this.getPlugin<ImpersonationPlugin>('impersonation'),
192
- emailotp: (): EmailotpPlugin | undefined => this.getPlugin<EmailotpPlugin>('emailotp'),
184
+ username: (): UsernamePlugin | undefined => this.getPlugin<UsernamePlugin>('username'),
185
+ magiclink: (): MagiclinkPlugin | undefined => this.getPlugin<MagiclinkPlugin>('magiclink'),
186
+ organization: (): OrganizationPlugin | undefined => this.getPlugin<OrganizationPlugin>('organization'),
187
+ sso: (): SsoPlugin | undefined => this.getPlugin<SsoPlugin>('sso'),
188
+ idverification: (): IdverificationPlugin | undefined => this.getPlugin<IdverificationPlugin>('idverification'),
189
+ notification: (): NotificationPlugin | undefined => this.getPlugin<NotificationPlugin>('notification'),
190
+ multisession: (): MultisessionPlugin | undefined => this.getPlugin<MultisessionPlugin>('multisession'),
191
+ permissions: (): PermissionsPlugin | undefined => this.getPlugin<PermissionsPlugin>('permissions'),
192
+ anonymous: (): AnonymousPlugin | undefined => this.getPlugin<AnonymousPlugin>('anonymous'),
193
+ apikey: (): ApikeyPlugin | undefined => this.getPlugin<ApikeyPlugin>('apikey'),
193
194
  compliance: (): CompliancePlugin | undefined => this.getPlugin<CompliancePlugin>('compliance'),
194
- mfa: (): MfaPlugin | undefined => this.getPlugin<MfaPlugin>('mfa'),
195
195
  };
196
196
 
197
197
  public async request<T>(
@@ -246,9 +246,9 @@ export class AuthsomeClient {
246
246
  });
247
247
  }
248
248
 
249
- async signIn(request: { email: string; password: string }): Promise<{ requiresTwoFactor: boolean; user: types.User; session: types.Session }> {
249
+ async signIn(request: { email: string; password: string }): Promise<{ user: types.User; session: types.Session; requiresTwoFactor: boolean }> {
250
250
  const path = '/signin';
251
- return this.request<{ requiresTwoFactor: boolean; user: types.User; session: types.Session }>('POST', path, {
251
+ return this.request<{ user: types.User; session: types.Session; requiresTwoFactor: boolean }>('POST', path, {
252
252
  body: request,
253
253
  });
254
254
  }
@@ -290,9 +290,9 @@ export class AuthsomeClient {
290
290
  });
291
291
  }
292
292
 
293
- async refreshSession(request: { refreshToken: string }): Promise<{ session: any; accessToken: string; refreshToken: string; expiresAt: string; refreshExpiresAt: string }> {
293
+ async refreshSession(request: { refreshToken: string }): Promise<{ accessToken: string; refreshToken: string; expiresAt: string; refreshExpiresAt: string; session: any }> {
294
294
  const path = '/refresh';
295
- return this.request<{ session: any; accessToken: string; refreshToken: string; expiresAt: string; refreshExpiresAt: string }>('POST', path, {
295
+ return this.request<{ expiresAt: string; refreshExpiresAt: string; session: any; accessToken: string; refreshToken: string }>('POST', path, {
296
296
  body: request,
297
297
  });
298
298
  }
package/src/index.ts CHANGED
@@ -6,32 +6,32 @@ export * from './types';
6
6
  export * from './errors';
7
7
 
8
8
  // Plugin exports
9
- export { PermissionsPlugin, permissionsClient } from './plugins/permissions';
10
- export { IdverificationPlugin, idverificationClient } from './plugins/idverification';
11
- export { TwofaPlugin, twofaClient } from './plugins/twofa';
12
- export { JwtPlugin, jwtClient } from './plugins/jwt';
13
- export { AdminPlugin, adminClient } from './plugins/admin';
14
- export { ApikeyPlugin, apikeyClient } from './plugins/apikey';
15
- export { EmailverificationPlugin, emailverificationClient } from './plugins/emailverification';
16
- export { BackupauthPlugin, backupauthClient } from './plugins/backupauth';
17
- export { StepupPlugin, stepupClient } from './plugins/stepup';
18
9
  export { MultiappPlugin, multiappClient } from './plugins/multiapp';
19
- export { AnonymousPlugin, anonymousClient } from './plugins/anonymous';
20
- export { MultisessionPlugin, multisessionClient } from './plugins/multisession';
21
- export { NotificationPlugin, notificationClient } from './plugins/notification';
22
10
  export { PasskeyPlugin, passkeyClient } from './plugins/passkey';
23
11
  export { PhonePlugin, phoneClient } from './plugins/phone';
24
12
  export { WebhookPlugin, webhookClient } from './plugins/webhook';
25
- export { SocialPlugin, socialClient } from './plugins/social';
13
+ export { ImpersonationPlugin, impersonationClient } from './plugins/impersonation';
26
14
  export { CmsPlugin, cmsClient } from './plugins/cms';
27
15
  export { OidcproviderPlugin, oidcproviderClient } from './plugins/oidcprovider';
28
- export { OrganizationPlugin, organizationClient } from './plugins/organization';
29
- export { SsoPlugin, ssoClient } from './plugins/sso';
30
- export { MagiclinkPlugin, magiclinkClient } from './plugins/magiclink';
31
- export { UsernamePlugin, usernameClient } from './plugins/username';
16
+ export { EmailotpPlugin, emailotpClient } from './plugins/emailotp';
17
+ export { BackupauthPlugin, backupauthClient } from './plugins/backupauth';
18
+ export { TwofaPlugin, twofaClient } from './plugins/twofa';
19
+ export { SocialPlugin, socialClient } from './plugins/social';
20
+ export { AdminPlugin, adminClient } from './plugins/admin';
21
+ export { EmailverificationPlugin, emailverificationClient } from './plugins/emailverification';
32
22
  export { ConsentPlugin, consentClient } from './plugins/consent';
23
+ export { StepupPlugin, stepupClient } from './plugins/stepup';
24
+ export { JwtPlugin, jwtClient } from './plugins/jwt';
25
+ export { MfaPlugin, mfaClient } from './plugins/mfa';
33
26
  export { SecretsPlugin, secretsClient } from './plugins/secrets';
34
- export { ImpersonationPlugin, impersonationClient } from './plugins/impersonation';
35
- export { EmailotpPlugin, emailotpClient } from './plugins/emailotp';
27
+ export { UsernamePlugin, usernameClient } from './plugins/username';
28
+ export { MagiclinkPlugin, magiclinkClient } from './plugins/magiclink';
29
+ export { OrganizationPlugin, organizationClient } from './plugins/organization';
30
+ export { SsoPlugin, ssoClient } from './plugins/sso';
31
+ export { IdverificationPlugin, idverificationClient } from './plugins/idverification';
32
+ export { NotificationPlugin, notificationClient } from './plugins/notification';
33
+ export { MultisessionPlugin, multisessionClient } from './plugins/multisession';
34
+ export { PermissionsPlugin, permissionsClient } from './plugins/permissions';
35
+ export { AnonymousPlugin, anonymousClient } from './plugins/anonymous';
36
+ export { ApikeyPlugin, apikeyClient } from './plugins/apikey';
36
37
  export { CompliancePlugin, complianceClient } from './plugins/compliance';
37
- export { MfaPlugin, mfaClient } from './plugins/mfa';
@@ -24,7 +24,7 @@ export class CmsPlugin implements ClientPlugin {
24
24
  });
25
25
  }
26
26
 
27
- async getEntry(params: { entryId: string; typeSlug: string }): Promise<void> {
27
+ async getEntry(params: { typeSlug: string; entryId: string }): Promise<void> {
28
28
  const path = `/cms/${params.typeSlug}/${params.entryId}`;
29
29
  return this.client.request<void>('GET', path);
30
30
  }
@@ -105,14 +105,14 @@ export class MultiappPlugin implements ClientPlugin {
105
105
  return this.client.request<types.TeamsListResponse>('GET', path);
106
106
  }
107
107
 
108
- async addTeamMember(params: { appId: string; teamId: string }, request: types.AddTeamMember_req): Promise<types.MultitenancyStatusResponse> {
108
+ async addTeamMember(params: { teamId: string; appId: string }, request: types.AddTeamMember_req): Promise<types.MultitenancyStatusResponse> {
109
109
  const path = `/apps/${params.appId}/teams/${params.teamId}/members`;
110
110
  return this.client.request<types.MultitenancyStatusResponse>('POST', path, {
111
111
  body: request,
112
112
  });
113
113
  }
114
114
 
115
- async removeTeamMember(params: { teamId: string; memberId: string; appId: string }): Promise<types.MultitenancyStatusResponse> {
115
+ async removeTeamMember(params: { appId: string; teamId: string; memberId: string }): Promise<types.MultitenancyStatusResponse> {
116
116
  const path = `/apps/${params.appId}/teams/${params.teamId}/members/${params.memberId}`;
117
117
  return this.client.request<types.MultitenancyStatusResponse>('DELETE', path);
118
118
  }
@@ -96,21 +96,21 @@ export class OidcproviderPlugin implements ClientPlugin {
96
96
  });
97
97
  }
98
98
 
99
- async deviceCodeEntry(): Promise<void> {
99
+ async deviceCodeEntry(): Promise<types.DeviceCodeEntryResponse> {
100
100
  const path = '/oauth2/device';
101
- return this.client.request<void>('GET', path);
101
+ return this.client.request<types.DeviceCodeEntryResponse>('GET', path);
102
102
  }
103
103
 
104
- async deviceVerify(request: types.DeviceVerificationRequest): Promise<void> {
104
+ async deviceVerify(request: types.DeviceVerificationRequest): Promise<types.DeviceVerifyResponse> {
105
105
  const path = '/oauth2/device/verify';
106
- return this.client.request<void>('POST', path, {
106
+ return this.client.request<types.DeviceVerifyResponse>('POST', path, {
107
107
  body: request,
108
108
  });
109
109
  }
110
110
 
111
- async deviceAuthorizeDecision(request: types.DeviceAuthorizationDecisionRequest): Promise<void> {
111
+ async deviceAuthorizeDecision(request: types.DeviceAuthorizationDecisionRequest): Promise<types.DeviceDecisionResponse> {
112
112
  const path = '/oauth2/device/authorize';
113
- return this.client.request<void>('POST', path, {
113
+ return this.client.request<types.DeviceDecisionResponse>('POST', path, {
114
114
  body: request,
115
115
  });
116
116
  }
@@ -66,7 +66,7 @@ export class SecretsPlugin implements ClientPlugin {
66
66
  });
67
67
  }
68
68
 
69
- async rollback(params: { id: string; version: number }, request: types.RollbackRequest): Promise<types.SecretDTO> {
69
+ async rollback(params: { version: number; id: string }, request: types.RollbackRequest): Promise<types.SecretDTO> {
70
70
  const path = `/secrets/${params.id}/rollback/${params.version}`;
71
71
  return this.client.request<types.SecretDTO>('POST', path, {
72
72
  body: request,
@@ -12,7 +12,7 @@ export class WebhookPlugin implements ClientPlugin {
12
12
  this.client = client;
13
13
  }
14
14
 
15
- async create(request: { secret?: string; url: string; events: string[] }): Promise<{ webhook: types.Webhook }> {
15
+ async create(request: { events: string[]; secret?: string; url: string }): Promise<{ webhook: types.Webhook }> {
16
16
  const path = '/api/auth/webhooks';
17
17
  return this.client.request<{ webhook: types.Webhook }>('POST', path, {
18
18
  body: request,