@bitblit/ratchet-warden-common 4.0.84-alpha

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.
Files changed (121) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/License.txt +13 -0
  3. package/README.md +38 -0
  4. package/dist/cjs/build/ratchet-warden-common-info.js +18 -0
  5. package/dist/cjs/client/provider/warden-client-abstract-recent-login-provider.js +47 -0
  6. package/dist/cjs/client/provider/warden-client-current-logged-in-jwt-token-provider.js +2 -0
  7. package/dist/cjs/client/provider/warden-client-local-storage-logged-in-user-provider.js +30 -0
  8. package/dist/cjs/client/provider/warden-client-local-storage-recent-login-provider.js +24 -0
  9. package/dist/cjs/client/provider/warden-client-recent-login-provider.js +2 -0
  10. package/dist/cjs/client/provider/warden-client-transient-memory-logged-in-user-provider.js +15 -0
  11. package/dist/cjs/client/provider/warden-client-transient-memory-recent-login-provider.js +17 -0
  12. package/dist/cjs/client/provider/warden-command-exchange-provider.js +2 -0
  13. package/dist/cjs/client/provider/warden-logged-in-user-provider.js +2 -0
  14. package/dist/cjs/client/provider/warden-logged-in-user-wrapper.js +2 -0
  15. package/dist/cjs/client/provider/warden-recent-login-descriptor.js +2 -0
  16. package/dist/cjs/client/provider/warden-user-service-event-processing-provider.js +2 -0
  17. package/dist/cjs/client/provider/warden-user-service-options.js +2 -0
  18. package/dist/cjs/client/warden-client.js +133 -0
  19. package/dist/cjs/client/warden-delegating-current-user-providing-user-service-event-processing-provider.js +45 -0
  20. package/dist/cjs/client/warden-user-service.js +253 -0
  21. package/dist/cjs/common/command/create-account.js +2 -0
  22. package/dist/cjs/common/command/remove-web-authn-registration.js +2 -0
  23. package/dist/cjs/common/command/warden-command-response.js +2 -0
  24. package/dist/cjs/common/command/warden-command.js +2 -0
  25. package/dist/cjs/common/command/web-authn-object-wrapper.js +2 -0
  26. package/dist/cjs/common/model/warden-contact-type.js +8 -0
  27. package/dist/cjs/common/model/warden-contact.js +2 -0
  28. package/dist/cjs/common/model/warden-customer-message-type.js +7 -0
  29. package/dist/cjs/common/model/warden-entry-summary.js +2 -0
  30. package/dist/cjs/common/model/warden-entry.js +2 -0
  31. package/dist/cjs/common/model/warden-jwt-token.js +2 -0
  32. package/dist/cjs/common/model/warden-login-request.js +2 -0
  33. package/dist/cjs/common/model/warden-login-results.js +2 -0
  34. package/dist/cjs/common/model/warden-store-registration-response-type.js +9 -0
  35. package/dist/cjs/common/model/warden-store-registration-response.js +2 -0
  36. package/dist/cjs/common/model/warden-team-role.js +2 -0
  37. package/dist/cjs/common/model/warden-user-decoration.js +2 -0
  38. package/dist/cjs/common/model/warden-web-authn-entry.js +2 -0
  39. package/dist/cjs/common/model/warden-web-authn-transport-future-type.js +12 -0
  40. package/dist/cjs/common/util/warden-utils.js +108 -0
  41. package/dist/cjs/index.js +40 -0
  42. package/dist/es/build/ratchet-warden-common-info.js +14 -0
  43. package/dist/es/client/provider/warden-client-abstract-recent-login-provider.js +43 -0
  44. package/dist/es/client/provider/warden-client-current-logged-in-jwt-token-provider.js +1 -0
  45. package/dist/es/client/provider/warden-client-local-storage-logged-in-user-provider.js +26 -0
  46. package/dist/es/client/provider/warden-client-local-storage-recent-login-provider.js +20 -0
  47. package/dist/es/client/provider/warden-client-recent-login-provider.js +1 -0
  48. package/dist/es/client/provider/warden-client-transient-memory-logged-in-user-provider.js +11 -0
  49. package/dist/es/client/provider/warden-client-transient-memory-recent-login-provider.js +13 -0
  50. package/dist/es/client/provider/warden-command-exchange-provider.js +1 -0
  51. package/dist/es/client/provider/warden-logged-in-user-provider.js +1 -0
  52. package/dist/es/client/provider/warden-logged-in-user-wrapper.js +1 -0
  53. package/dist/es/client/provider/warden-recent-login-descriptor.js +1 -0
  54. package/dist/es/client/provider/warden-user-service-event-processing-provider.js +1 -0
  55. package/dist/es/client/provider/warden-user-service-options.js +1 -0
  56. package/dist/es/client/warden-client.js +129 -0
  57. package/dist/es/client/warden-delegating-current-user-providing-user-service-event-processing-provider.js +40 -0
  58. package/dist/es/client/warden-user-service.js +245 -0
  59. package/dist/es/common/command/create-account.js +1 -0
  60. package/dist/es/common/command/remove-web-authn-registration.js +1 -0
  61. package/dist/es/common/command/warden-command-response.js +1 -0
  62. package/dist/es/common/command/warden-command.js +1 -0
  63. package/dist/es/common/command/web-authn-object-wrapper.js +1 -0
  64. package/dist/es/common/model/warden-contact-type.js +5 -0
  65. package/dist/es/common/model/warden-contact.js +1 -0
  66. package/dist/es/common/model/warden-customer-message-type.js +4 -0
  67. package/dist/es/common/model/warden-entry-summary.js +1 -0
  68. package/dist/es/common/model/warden-entry.js +1 -0
  69. package/dist/es/common/model/warden-jwt-token.js +1 -0
  70. package/dist/es/common/model/warden-login-request.js +1 -0
  71. package/dist/es/common/model/warden-login-results.js +1 -0
  72. package/dist/es/common/model/warden-store-registration-response-type.js +6 -0
  73. package/dist/es/common/model/warden-store-registration-response.js +1 -0
  74. package/dist/es/common/model/warden-team-role.js +1 -0
  75. package/dist/es/common/model/warden-user-decoration.js +1 -0
  76. package/dist/es/common/model/warden-web-authn-entry.js +1 -0
  77. package/dist/es/common/model/warden-web-authn-transport-future-type.js +9 -0
  78. package/dist/es/common/util/warden-utils.js +104 -0
  79. package/dist/es/index.js +37 -0
  80. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  81. package/dist/tsconfig.es.tsbuildinfo +1 -0
  82. package/dist/tsconfig.types.tsbuildinfo +1 -0
  83. package/dist/types/build/ratchet-warden-common-info.d.ts +5 -0
  84. package/dist/types/client/provider/warden-client-abstract-recent-login-provider.d.ts +13 -0
  85. package/dist/types/client/provider/warden-client-current-logged-in-jwt-token-provider.d.ts +3 -0
  86. package/dist/types/client/provider/warden-client-local-storage-logged-in-user-provider.d.ts +9 -0
  87. package/dist/types/client/provider/warden-client-local-storage-recent-login-provider.d.ts +8 -0
  88. package/dist/types/client/provider/warden-client-recent-login-provider.d.ts +10 -0
  89. package/dist/types/client/provider/warden-client-transient-memory-logged-in-user-provider.d.ts +8 -0
  90. package/dist/types/client/provider/warden-client-transient-memory-recent-login-provider.d.ts +7 -0
  91. package/dist/types/client/provider/warden-command-exchange-provider.d.ts +7 -0
  92. package/dist/types/client/provider/warden-logged-in-user-provider.d.ts +6 -0
  93. package/dist/types/client/provider/warden-logged-in-user-wrapper.d.ts +6 -0
  94. package/dist/types/client/provider/warden-recent-login-descriptor.d.ts +5 -0
  95. package/dist/types/client/provider/warden-user-service-event-processing-provider.d.ts +11 -0
  96. package/dist/types/client/provider/warden-user-service-options.d.ts +13 -0
  97. package/dist/types/client/warden-client.d.ts +27 -0
  98. package/dist/types/client/warden-delegating-current-user-providing-user-service-event-processing-provider.d.ts +26 -0
  99. package/dist/types/client/warden-user-service.d.ts +47 -0
  100. package/dist/types/common/command/create-account.d.ts +7 -0
  101. package/dist/types/common/command/remove-web-authn-registration.d.ts +4 -0
  102. package/dist/types/common/command/warden-command-response.d.ts +17 -0
  103. package/dist/types/common/command/warden-command.d.ts +18 -0
  104. package/dist/types/common/command/web-authn-object-wrapper.d.ts +3 -0
  105. package/dist/types/common/model/warden-contact-type.d.ts +4 -0
  106. package/dist/types/common/model/warden-contact.d.ts +5 -0
  107. package/dist/types/common/model/warden-customer-message-type.d.ts +3 -0
  108. package/dist/types/common/model/warden-entry-summary.d.ts +7 -0
  109. package/dist/types/common/model/warden-entry.d.ts +11 -0
  110. package/dist/types/common/model/warden-jwt-token.d.ts +5 -0
  111. package/dist/types/common/model/warden-login-request.d.ts +9 -0
  112. package/dist/types/common/model/warden-login-results.d.ts +7 -0
  113. package/dist/types/common/model/warden-store-registration-response-type.d.ts +5 -0
  114. package/dist/types/common/model/warden-store-registration-response.d.ts +8 -0
  115. package/dist/types/common/model/warden-team-role.d.ts +4 -0
  116. package/dist/types/common/model/warden-user-decoration.d.ts +6 -0
  117. package/dist/types/common/model/warden-web-authn-entry.d.ts +9 -0
  118. package/dist/types/common/model/warden-web-authn-transport-future-type.d.ts +8 -0
  119. package/dist/types/common/util/warden-utils.d.ts +21 -0
  120. package/dist/types/index.d.ts +40 -0
  121. package/package.json +66 -0
@@ -0,0 +1,7 @@
1
+ import { WardenContact } from './warden-contact';
2
+ export interface WardenEntrySummary {
3
+ userId: string;
4
+ userLabel: string;
5
+ contactMethods: WardenContact[];
6
+ webAuthnAuthenticatorIds: string[];
7
+ }
@@ -0,0 +1,11 @@
1
+ import { WardenWebAuthnEntry } from './warden-web-authn-entry';
2
+ import { WardenContact } from './warden-contact';
3
+ export interface WardenEntry {
4
+ userId: string;
5
+ userLabel: string;
6
+ contactMethods: WardenContact[];
7
+ tags: string[];
8
+ webAuthnAuthenticators: WardenWebAuthnEntry[];
9
+ createdEpochMS: number;
10
+ updatedEpochMS: number;
11
+ }
@@ -0,0 +1,5 @@
1
+ import { CommonJwtToken } from '@bitblit/ratchet-common';
2
+ import { WardenEntrySummary } from './warden-entry-summary';
3
+ export interface WardenJwtToken<T> extends CommonJwtToken<T> {
4
+ loginData: WardenEntrySummary;
5
+ }
@@ -0,0 +1,9 @@
1
+ import { WardenContact } from './warden-contact';
2
+ import { AuthenticationResponseJSON } from '@simplewebauthn/typescript-types';
3
+ export interface WardenLoginRequest {
4
+ userId?: string;
5
+ contact?: WardenContact;
6
+ webAuthn?: AuthenticationResponseJSON;
7
+ expiringToken?: string;
8
+ jwtTokenToRefresh?: string;
9
+ }
@@ -0,0 +1,7 @@
1
+ import { WardenLoginRequest } from './warden-login-request';
2
+ export interface WardenLoginResults {
3
+ request: WardenLoginRequest;
4
+ userId?: string;
5
+ jwtToken?: string;
6
+ error?: string;
7
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum WardenStoreRegistrationResponseType {
2
+ Verified = "Verified",
3
+ Failed = "Failed",
4
+ Error = "Error"
5
+ }
@@ -0,0 +1,8 @@
1
+ import { WardenStoreRegistrationResponseType } from './warden-store-registration-response-type';
2
+ import { WardenEntry } from './warden-entry';
3
+ export interface WardenStoreRegistrationResponse {
4
+ updatedEntry?: WardenEntry;
5
+ registrationResponseId: string;
6
+ result: WardenStoreRegistrationResponseType;
7
+ error?: string;
8
+ }
@@ -0,0 +1,4 @@
1
+ export interface WardenTeamRole {
2
+ team: string;
3
+ role: string;
4
+ }
@@ -0,0 +1,6 @@
1
+ import { WardenTeamRole } from './warden-team-role';
2
+ export interface WardenUserDecoration<T> {
3
+ userTokenData: T;
4
+ userTokenExpirationSeconds: number;
5
+ userTeamRoles: WardenTeamRole[];
6
+ }
@@ -0,0 +1,9 @@
1
+ import { WardenWebAuthnTransportFutureType } from './warden-web-authn-transport-future-type';
2
+ export interface WardenWebAuthnEntry {
3
+ credentialIdBase64: string;
4
+ credentialPublicKeyBase64: string;
5
+ counter: number;
6
+ credentialBackedUp: boolean;
7
+ credentialDeviceType: string;
8
+ transports?: WardenWebAuthnTransportFutureType[];
9
+ }
@@ -0,0 +1,8 @@
1
+ export declare enum WardenWebAuthnTransportFutureType {
2
+ ble = "ble",
3
+ internal = "internal",
4
+ nfc = "nfc",
5
+ usb = "usb",
6
+ cable = "cable",
7
+ hybrid = "hybrid"
8
+ }
@@ -0,0 +1,21 @@
1
+ import { WardenContact } from '../model/warden-contact';
2
+ import { WardenContactType } from '../model/warden-contact-type';
3
+ import { WardenEntrySummary } from '../model/warden-entry-summary';
4
+ import { WardenEntry } from '../model/warden-entry';
5
+ import { WardenLoginRequest } from '../model/warden-login-request';
6
+ import { WardenTeamRole } from '../model/warden-team-role';
7
+ export declare class WardenUtils {
8
+ constructor();
9
+ static extractContactsOfType(req: WardenEntry | WardenEntrySummary, type: WardenContactType): string[];
10
+ static validLoginRequest(req: WardenLoginRequest): boolean;
11
+ static stringToWardenContact(input: string): WardenContact;
12
+ static teamRolesToRoles(teamRoles: WardenTeamRole[]): string[];
13
+ static roleStringsToTeamRoles(roles: string[]): WardenTeamRole[];
14
+ static roleStringToTeamRole(role: string): WardenTeamRole;
15
+ static teamRoleToRoleString(tr: WardenTeamRole): string;
16
+ static stringToContactType(input: string): WardenContactType;
17
+ static validContact(contact: WardenContact): boolean;
18
+ static stringIsEmailAddress(value: string): boolean;
19
+ static stringIsPhoneNumber(value: string): boolean;
20
+ static stripWardenEntryToSummary(we: WardenEntry): WardenEntrySummary;
21
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @file Automatically generated by barrelsby.
3
+ */
4
+ export * from './build/ratchet-warden-common-info';
5
+ export * from './client/warden-client';
6
+ export * from './client/warden-delegating-current-user-providing-user-service-event-processing-provider';
7
+ export * from './client/warden-user-service';
8
+ export * from './client/provider/warden-client-abstract-recent-login-provider';
9
+ export * from './client/provider/warden-client-current-logged-in-jwt-token-provider';
10
+ export * from './client/provider/warden-client-local-storage-logged-in-user-provider';
11
+ export * from './client/provider/warden-client-local-storage-recent-login-provider';
12
+ export * from './client/provider/warden-client-recent-login-provider';
13
+ export * from './client/provider/warden-client-transient-memory-logged-in-user-provider';
14
+ export * from './client/provider/warden-client-transient-memory-recent-login-provider';
15
+ export * from './client/provider/warden-command-exchange-provider';
16
+ export * from './client/provider/warden-logged-in-user-provider';
17
+ export * from './client/provider/warden-logged-in-user-wrapper';
18
+ export * from './client/provider/warden-recent-login-descriptor';
19
+ export * from './client/provider/warden-user-service-event-processing-provider';
20
+ export * from './client/provider/warden-user-service-options';
21
+ export * from './common/command/create-account';
22
+ export * from './common/command/remove-web-authn-registration';
23
+ export * from './common/command/warden-command-response';
24
+ export * from './common/command/warden-command';
25
+ export * from './common/command/web-authn-object-wrapper';
26
+ export * from './common/model/warden-contact-type';
27
+ export * from './common/model/warden-contact';
28
+ export * from './common/model/warden-customer-message-type';
29
+ export * from './common/model/warden-entry-summary';
30
+ export * from './common/model/warden-entry';
31
+ export * from './common/model/warden-jwt-token';
32
+ export * from './common/model/warden-login-request';
33
+ export * from './common/model/warden-login-results';
34
+ export * from './common/model/warden-store-registration-response-type';
35
+ export * from './common/model/warden-store-registration-response';
36
+ export * from './common/model/warden-team-role';
37
+ export * from './common/model/warden-user-decoration';
38
+ export * from './common/model/warden-web-authn-entry';
39
+ export * from './common/model/warden-web-authn-transport-future-type';
40
+ export * from './common/util/warden-utils';
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@bitblit/ratchet-warden-common",
3
+ "version": "4.0.84-alpha",
4
+ "description": "Typescript library to simplify using simplewebauthn and secondary auth methods over GraphQL",
5
+ "sideEffects": false,
6
+ "bin": {},
7
+ "main": "./dist/cjs/index.js",
8
+ "module": "./dist/esm/index.js",
9
+ "types": "./dist/types/index.d.ts",
10
+ "files": [
11
+ "dist/*",
12
+ "includes/*"
13
+ ],
14
+ "contributors": [
15
+ "Christopher Weiss <bitblit@gmail.com>"
16
+ ],
17
+ "husky": {
18
+ "hooks": {
19
+ "pre-commit": "pretty-quick --staged"
20
+ }
21
+ },
22
+ "prettier": {
23
+ "printWidth": 140,
24
+ "singleQuote": true,
25
+ "arrowParens": "always"
26
+ },
27
+ "config": {},
28
+ "scripts": {
29
+ "watch": "tsc-watch",
30
+ "clean": "shx rm -Rf dist",
31
+ "test": "jest",
32
+ "docs": "typedoc",
33
+ "lint": "eslint src/**/*.ts",
34
+ "lint-fix": "eslint --fix src/**/*.ts",
35
+ "generate-barrels": "barrelsby -q --delete -d src -e .*\\.spec\\.ts",
36
+ "build": "yarn run generate-barrels && concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
37
+ "build:cjs": "tsc -p tsconfig.cjs.json",
38
+ "build:es": "tsc -p tsconfig.es.json",
39
+ "build:types": "tsc -p tsconfig.types.json"
40
+ },
41
+ "repository": {
42
+ "type": "git",
43
+ "url": "https://github.com/bitblit/Ratchet"
44
+ },
45
+ "keywords": [
46
+ "warden",
47
+ "simplewebauthn"
48
+ ],
49
+ "bugs": {
50
+ "url": "https://github.com/bitblit/Ratchet/issues"
51
+ },
52
+ "homepage": "https://github.com/bitblit/Ratchet#readme",
53
+ "engines": {
54
+ "node": ">=14.18"
55
+ },
56
+ "license": "Apache-2.0",
57
+ "dependencies": {
58
+ "@bitblit/ratchet-common": "*",
59
+ "@simplewebauthn/browser": "7.1.0",
60
+ "@simplewebauthn/typescript-types": "7.0.0",
61
+ "jwt-decode": "3.1.2"
62
+ },
63
+ "devDependencies": {
64
+ "@bitblit/ratchet-jest": "*"
65
+ }
66
+ }