@or-sdk/auth 0.21.2-auth.0
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/cjs/Auth.js +618 -0
- package/dist/cjs/Auth.js.map +1 -0
- package/dist/cjs/constants.js +2 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/index.js +17 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/NoRightsError.js +29 -0
- package/dist/cjs/utils/NoRightsError.js.map +1 -0
- package/dist/cjs/utils/generateFingerPrint.js +80 -0
- package/dist/cjs/utils/generateFingerPrint.js.map +1 -0
- package/dist/cjs/utils/index.js +11 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/esm/Auth.js +450 -0
- package/dist/esm/Auth.js.map +1 -0
- package/dist/esm/constants.js +2 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/NoRightsError.js +8 -0
- package/dist/esm/utils/NoRightsError.js.map +1 -0
- package/dist/esm/utils/generateFingerPrint.js +40 -0
- package/dist/esm/utils/generateFingerPrint.js.map +1 -0
- package/dist/esm/utils/index.js +3 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/types/Auth.d.ts +56 -0
- package/dist/types/constants.d.ts +0 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/types.d.ts +85 -0
- package/dist/types/utils/NoRightsError.d.ts +4 -0
- package/dist/types/utils/generateFingerPrint.d.ts +2 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/package.json +40 -0
- package/src/Auth.ts +772 -0
- package/src/constants.ts +0 -0
- package/src/index.ts +2 -0
- package/src/types.ts +109 -0
- package/src/utils/NoRightsError.ts +9 -0
- package/src/utils/generateFingerPrint.ts +37 -0
- package/src/utils/index.ts +5 -0
- package/tsconfig.esm.json +9 -0
- package/tsconfig.json +7 -0
- package/tsconfig.types.json +9 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoRightsError.js","sourceRoot":"","sources":["../../../src/utils/NoRightsError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK;IAG9C,YAAY,OAAe;QACzB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import _ from 'lodash';
|
|
11
|
+
import Fingerprint2 from 'fingerprintjs2';
|
|
12
|
+
const generateFingerPrint = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
13
|
+
const options = {
|
|
14
|
+
excludes: {
|
|
15
|
+
adBlock: true,
|
|
16
|
+
fonts: true,
|
|
17
|
+
enumerateDevices: true,
|
|
18
|
+
pixelRatio: true,
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
const fingerPrintComponents = yield new Promise(resolve => {
|
|
22
|
+
if (window.requestIdleCallback) {
|
|
23
|
+
window.requestIdleCallback(() => {
|
|
24
|
+
Fingerprint2.get(options, components => {
|
|
25
|
+
resolve(components);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
window.setTimeout(() => {
|
|
31
|
+
Fingerprint2.get(options, components => {
|
|
32
|
+
resolve(components);
|
|
33
|
+
});
|
|
34
|
+
}, 500);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return Fingerprint2.x64hash128(_.flatMap(fingerPrintComponents, 'value').join(''), 31);
|
|
38
|
+
});
|
|
39
|
+
export default generateFingerPrint;
|
|
40
|
+
//# sourceMappingURL=generateFingerPrint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateFingerPrint.js","sourceRoot":"","sources":["../../../src/utils/generateFingerPrint.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAK1C,MAAM,mBAAmB,GAAG,GAA0B,EAAE;IACtD,MAAM,OAAO,GAAG;QACd,QAAQ,EAAE;YACR,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,IAAI;YACtB,UAAU,EAAE,IAAI;SACjB;KACF,CAAC;IAEF,MAAM,qBAAqB,GAA6B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAElF,IAAI,MAAM,CAAC,mBAAmB,EAAE;YAC9B,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE;gBAC9B,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;oBACrC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACrB,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;oBACrC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACzF,CAAC,CAAA,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { AuthConfig, Domain, HeadersObj, MultiUserLoginUserArgs, MultiUserUpdateTwoFactorArgs, MultiUserUploadIconArgs, SaveUserArgs, SignInArgs, User } from './types';
|
|
2
|
+
export declare class Auth {
|
|
3
|
+
private readonly discoveryUrl?;
|
|
4
|
+
private readonly sdkUrl?;
|
|
5
|
+
private readonly cookieDomain?;
|
|
6
|
+
private readonly cookie;
|
|
7
|
+
private readonly userCookieName;
|
|
8
|
+
private readonly allowGuestLogin;
|
|
9
|
+
private readonly allowIframe?;
|
|
10
|
+
private readonly deprecatedCookieName;
|
|
11
|
+
private readonly deprecatedUserExpireCookieName;
|
|
12
|
+
private readonly deprecatedDomain;
|
|
13
|
+
private readonly multiUserCookieName?;
|
|
14
|
+
private readonly userExpireCookieName;
|
|
15
|
+
private readonly cookiePollingInterval;
|
|
16
|
+
private readonly expireInShort;
|
|
17
|
+
private readonly expireInLong;
|
|
18
|
+
private loggedIn;
|
|
19
|
+
private monitorCookieTimeout?;
|
|
20
|
+
constructor(params: AuthConfig);
|
|
21
|
+
get domain(): Domain;
|
|
22
|
+
private get _getUser();
|
|
23
|
+
getUserExpire(cookieName?: string): number;
|
|
24
|
+
private _getNextExpiration;
|
|
25
|
+
stopCookieMonitor(): void;
|
|
26
|
+
monitorCookie(logoutCallback?: () => void, loginCallback?: (user: User) => void): void;
|
|
27
|
+
private _saveCookies;
|
|
28
|
+
saveMultiUser(user: User, expiration: number): void;
|
|
29
|
+
updateCookieExpiration(): void;
|
|
30
|
+
private _validateGuest;
|
|
31
|
+
saveUser({ long, user }: SaveUserArgs): Promise<void>;
|
|
32
|
+
signIn({ credentials, long, allowGuestLogin, captchaToken, isCaptchaV2Checkbox, verificationCode, userToken, rememberTwoFactor, }: SignInArgs): Promise<User>;
|
|
33
|
+
private _checkDeprecatedCookies;
|
|
34
|
+
private _validateToken;
|
|
35
|
+
signInWithToken(token: string | {
|
|
36
|
+
token: string;
|
|
37
|
+
allowGuestLogin?: boolean;
|
|
38
|
+
shouldNotSaveCookies?: boolean;
|
|
39
|
+
}, allowGuestLogin?: boolean, shouldNotSaveCookies?: boolean): Promise<User>;
|
|
40
|
+
get multiUserHeaders(): HeadersObj;
|
|
41
|
+
removeCookies(): void;
|
|
42
|
+
signOut(token: string): Promise<void>;
|
|
43
|
+
validateUser(allowGuestLogin?: boolean): Promise<User>;
|
|
44
|
+
hasUserParams(): boolean;
|
|
45
|
+
multiUserGetUsersList(): Promise<any>;
|
|
46
|
+
multiUserLoginUser({ accountId, id, long }: MultiUserLoginUserArgs): Promise<User>;
|
|
47
|
+
getUserNameForLockScreen(user: User): Promise<string>;
|
|
48
|
+
multiUserGetProfile(): Promise<any>;
|
|
49
|
+
multiUserSetProfile(profile: unknown): Promise<any>;
|
|
50
|
+
validateMultiUserToken(): Promise<any>;
|
|
51
|
+
multiUserUploadIcon({ name, contentType, cacheControl, file }: MultiUserUploadIconArgs): Promise<string>;
|
|
52
|
+
confirmEmailChange({ token }: {
|
|
53
|
+
token: string;
|
|
54
|
+
}): Promise<any>;
|
|
55
|
+
multiUserUpdateTwoFactor({ secret, enabled, codes, verificationCode }: MultiUserUpdateTwoFactorArgs): Promise<any>;
|
|
56
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export declare type AuthConfig = {
|
|
2
|
+
discoveryUrl?: string;
|
|
3
|
+
serviceUrl?: string;
|
|
4
|
+
sdkUrl?: string;
|
|
5
|
+
cookieDomain?: string;
|
|
6
|
+
userCookieName?: string;
|
|
7
|
+
allowGuestLogin?: boolean;
|
|
8
|
+
userExpireCookieName?: string;
|
|
9
|
+
cookiePrefix?: string;
|
|
10
|
+
multiUserCookieName?: string;
|
|
11
|
+
cookiePollingInterval?: number;
|
|
12
|
+
expireInShort?: number;
|
|
13
|
+
expireInLong?: number;
|
|
14
|
+
allowIframe?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare type Domain = {
|
|
17
|
+
domain?: string;
|
|
18
|
+
};
|
|
19
|
+
export declare type User = {
|
|
20
|
+
allow: boolean;
|
|
21
|
+
tokenType: string;
|
|
22
|
+
username: string;
|
|
23
|
+
accountId: string;
|
|
24
|
+
userId: string;
|
|
25
|
+
role: string;
|
|
26
|
+
twoFactorEnabled: string;
|
|
27
|
+
multiUserId?: string;
|
|
28
|
+
identityProvider?: any;
|
|
29
|
+
token?: string;
|
|
30
|
+
};
|
|
31
|
+
export declare type AuthResponse = User & {
|
|
32
|
+
captchaCheck?: boolean;
|
|
33
|
+
twoFactorCheck?: boolean;
|
|
34
|
+
};
|
|
35
|
+
export declare type MultiUserResponse = {
|
|
36
|
+
username: string;
|
|
37
|
+
};
|
|
38
|
+
export declare type MultiUserUploadIconResponse = {
|
|
39
|
+
uploadParams: {
|
|
40
|
+
url: string;
|
|
41
|
+
fields: {
|
|
42
|
+
[key: string]: unknown;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
downloadUrl: string;
|
|
46
|
+
};
|
|
47
|
+
export declare type HeadersObj = {
|
|
48
|
+
headers: {
|
|
49
|
+
Authorization: string;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
export declare type SaveUserArgs = {
|
|
53
|
+
long?: boolean;
|
|
54
|
+
user: User;
|
|
55
|
+
};
|
|
56
|
+
export declare type SignInArgs = {
|
|
57
|
+
credentials?: {
|
|
58
|
+
username: string;
|
|
59
|
+
password: string;
|
|
60
|
+
};
|
|
61
|
+
long?: boolean;
|
|
62
|
+
allowGuestLogin?: boolean;
|
|
63
|
+
captchaToken?: string;
|
|
64
|
+
isCaptchaV2Checkbox?: boolean;
|
|
65
|
+
verificationCode?: string;
|
|
66
|
+
userToken?: string;
|
|
67
|
+
rememberTwoFactor?: boolean;
|
|
68
|
+
};
|
|
69
|
+
export declare type MultiUserLoginUserArgs = {
|
|
70
|
+
accountId: string;
|
|
71
|
+
id: string;
|
|
72
|
+
long?: boolean;
|
|
73
|
+
};
|
|
74
|
+
export declare type MultiUserUploadIconArgs = {
|
|
75
|
+
name: string;
|
|
76
|
+
contentType: string;
|
|
77
|
+
cacheControl: string;
|
|
78
|
+
file: File;
|
|
79
|
+
};
|
|
80
|
+
export declare type MultiUserUpdateTwoFactorArgs = {
|
|
81
|
+
secret: string;
|
|
82
|
+
enabled: boolean;
|
|
83
|
+
codes: any;
|
|
84
|
+
verificationCode: string;
|
|
85
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.21.2-auth.0",
|
|
3
|
+
"name": "@or-sdk/auth",
|
|
4
|
+
"main": "dist/cjs/index.js",
|
|
5
|
+
"module": "dist/esm/index.js",
|
|
6
|
+
"types": "dist/types/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "npm run clean && concurrently \"npm run build:cjs\" \"npm run build:esm\" \"npm run build:types\"",
|
|
9
|
+
"build:watch": "concurrently -r --hide 1,2 \"npm run build:watch:cjs\" \"npm run build:watch:esm\" \"npm run build:watch:types\"",
|
|
10
|
+
"build:cjs": "tsc --project tsconfig.json",
|
|
11
|
+
"build:watch:cjs": "tsc --project tsconfig.json -w",
|
|
12
|
+
"build:esm": "tsc --project tsconfig.esm.json",
|
|
13
|
+
"build:watch:esm": "tsc --project tsconfig.esm.json -w",
|
|
14
|
+
"build:types": "tsc --project tsconfig.types.json",
|
|
15
|
+
"build:watch:types": "tsc --project tsconfig.types.json -w",
|
|
16
|
+
"clean": "rm -rf ./dist"
|
|
17
|
+
},
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"@types/browser-or-node": "^1.3.0",
|
|
20
|
+
"@types/fingerprintjs2": "^2.0.0",
|
|
21
|
+
"@types/lodash": "^4.14.176",
|
|
22
|
+
"@types/node": "^17.0.23",
|
|
23
|
+
"concurrently": "^6.4.0",
|
|
24
|
+
"typescript": "^4.4.4"
|
|
25
|
+
},
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@or-sdk/sdk-api": "^0.21.2-auth.0",
|
|
31
|
+
"@or-sdk/settings": "^0.21.2-auth.0",
|
|
32
|
+
"axios": "^0.24.0",
|
|
33
|
+
"browser-or-node": "^1.2.1",
|
|
34
|
+
"fingerprintjs2": "^2.1.0",
|
|
35
|
+
"form-data": "^2.5.1",
|
|
36
|
+
"lodash": "^4.17.21",
|
|
37
|
+
"universal-cookie": "^4.0.4"
|
|
38
|
+
},
|
|
39
|
+
"gitHead": "d1206aa0a61760dcc057a4308be2c1f5f68c303c"
|
|
40
|
+
}
|