@things-factory/auth-base 7.0.1-alpha.93 → 7.0.1-alpha.96
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-server/constants/error-code.d.ts +1 -0
- package/dist-server/constants/error-code.js +2 -1
- package/dist-server/constants/error-code.js.map +1 -1
- package/dist-server/middlewares/webauthn-middleware.js +9 -1
- package/dist-server/middlewares/webauthn-middleware.js.map +1 -1
- package/dist-server/service/appliance/appliance.d.ts +1 -1
- package/dist-server/service/appliance/appliance.js +1 -0
- package/dist-server/service/appliance/appliance.js.map +1 -1
- package/dist-server/service/application/application.js +1 -0
- package/dist-server/service/application/application.js.map +1 -1
- package/dist-server/service/granted-role/granted-role.d.ts +1 -1
- package/dist-server/service/granted-role/granted-role.js +1 -1
- package/dist-server/service/granted-role/granted-role.js.map +1 -1
- package/dist-server/service/index.d.ts +1 -1
- package/dist-server/service/login-history/login-history.d.ts +1 -1
- package/dist-server/service/login-history/login-history.js +2 -2
- package/dist-server/service/login-history/login-history.js.map +1 -1
- package/dist-server/service/partner/partner.d.ts +2 -2
- package/dist-server/service/partner/partner.js +4 -4
- package/dist-server/service/partner/partner.js.map +1 -1
- package/dist-server/service/role/role.d.ts +1 -1
- package/dist-server/service/role/role.js +2 -1
- package/dist-server/service/role/role.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/server/constants/error-code.ts +1 -0
- package/server/middlewares/webauthn-middleware.ts +8 -1
- package/server/service/appliance/appliance.ts +4 -3
- package/server/service/application/application.ts +5 -4
- package/server/service/granted-role/granted-role.ts +2 -2
- package/server/service/login-history/login-history.ts +3 -3
- package/server/service/partner/partner.ts +6 -6
- package/server/service/role/role.ts +3 -2
- package/translations/en.json +2 -1
- package/translations/ja.json +2 -1
- package/translations/ko.json +2 -1
- package/translations/ms.json +2 -1
- package/translations/zh.json +2 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@things-factory/auth-base",
|
3
|
-
"version": "7.0.1-alpha.
|
3
|
+
"version": "7.0.1-alpha.96",
|
4
4
|
"main": "dist-server/index.js",
|
5
5
|
"browser": "dist-client/index.js",
|
6
6
|
"things-factory": true,
|
@@ -45,5 +45,5 @@
|
|
45
45
|
"passport-local": "^1.0.0",
|
46
46
|
"popsicle-cookie-jar": "^1.0.0"
|
47
47
|
},
|
48
|
-
"gitHead": "
|
48
|
+
"gitHead": "454f3e70a838f7cf177bcad936d335ad446093c8"
|
49
49
|
}
|
@@ -16,3 +16,4 @@ export const USER_DUPLICATED = 'user duplicated'
|
|
16
16
|
export const PASSWORD_USED_PAST = 'password used in the past'
|
17
17
|
export const VERIFICATION_ERROR = 'user or verification token not found'
|
18
18
|
export const USER_CREDENTIAL_NOT_FOUND = 'user credential not found'
|
19
|
+
export const AUTH_ERROR = 'auth error'
|
@@ -57,7 +57,14 @@ export async function webAuthnMiddleware(context, next) {
|
|
57
57
|
{ session: true, failureMessage: true, failWithError: true },
|
58
58
|
async (err, user, info) => {
|
59
59
|
if (err || !user) {
|
60
|
-
|
60
|
+
if (info.errorCode) {
|
61
|
+
throw new AuthError(info)
|
62
|
+
} else {
|
63
|
+
throw new AuthError({
|
64
|
+
errorCode: AuthError.ERROR_CODES.AUTH_ERROR,
|
65
|
+
detail: info
|
66
|
+
})
|
67
|
+
}
|
61
68
|
} else {
|
62
69
|
context.state.user = user
|
63
70
|
|
@@ -30,7 +30,8 @@ export class Appliance {
|
|
30
30
|
readonly id: string
|
31
31
|
|
32
32
|
@ManyToOne(type => Domain)
|
33
|
-
|
33
|
+
@Field(type => Domain)
|
34
|
+
domain?: Domain
|
34
35
|
|
35
36
|
@RelationId((appliance: Appliance) => appliance.domain)
|
36
37
|
domainId: string
|
@@ -71,8 +72,8 @@ export class Appliance {
|
|
71
72
|
DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
|
72
73
|
? 'longtext'
|
73
74
|
: DATABASE_TYPE == 'oracle'
|
74
|
-
|
75
|
-
|
75
|
+
? 'clob'
|
76
|
+
: 'varchar'
|
76
77
|
})
|
77
78
|
@Field({ nullable: true })
|
78
79
|
@Directive('@privilege(category: "security", privilege: "query", domainOwnerGranted: true)')
|
@@ -54,6 +54,7 @@ export class Application {
|
|
54
54
|
readonly id?: string
|
55
55
|
|
56
56
|
@ManyToOne(type => Domain)
|
57
|
+
@Field(type => Domain)
|
57
58
|
domain?: Domain
|
58
59
|
|
59
60
|
@RelationId((application: Application) => application.domain)
|
@@ -97,8 +98,8 @@ export class Application {
|
|
97
98
|
DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
|
98
99
|
? 'longtext'
|
99
100
|
: DATABASE_TYPE == 'oracle'
|
100
|
-
|
101
|
-
|
101
|
+
? 'clob'
|
102
|
+
: 'varchar'
|
102
103
|
})
|
103
104
|
@Field({ nullable: true })
|
104
105
|
@Directive('@privilege(category: "security", privilege: "query", domainOwnerGranted: true)')
|
@@ -113,8 +114,8 @@ export class Application {
|
|
113
114
|
DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
|
114
115
|
? 'enum'
|
115
116
|
: DATABASE_TYPE == 'oracle'
|
116
|
-
|
117
|
-
|
117
|
+
? 'varchar2'
|
118
|
+
: 'smallint',
|
118
119
|
enum: ApplicationType,
|
119
120
|
default: ApplicationType.OTHERS
|
120
121
|
})
|
@@ -14,14 +14,14 @@ export class LoginHistory {
|
|
14
14
|
readonly id: string
|
15
15
|
|
16
16
|
@ManyToOne(type => Domain)
|
17
|
-
@Field()
|
18
|
-
accessDomain
|
17
|
+
@Field(type => Domain)
|
18
|
+
accessDomain?: Domain
|
19
19
|
|
20
20
|
@RelationId((loginHistory: LoginHistory) => loginHistory.accessDomain)
|
21
21
|
accessDomainId: string
|
22
22
|
|
23
23
|
@ManyToOne(type => User)
|
24
|
-
@Field()
|
24
|
+
@Field(type => User)
|
25
25
|
accessUser: User
|
26
26
|
|
27
27
|
@RelationId((loginHistory: LoginHistory) => loginHistory.accessUser)
|
@@ -20,25 +20,25 @@ export class Partner {
|
|
20
20
|
readonly id: string
|
21
21
|
|
22
22
|
@ManyToOne(type => Domain)
|
23
|
-
@Field()
|
24
|
-
domain
|
23
|
+
@Field(type => Domain)
|
24
|
+
domain?: Domain
|
25
25
|
|
26
26
|
@RelationId((partner: Partner) => partner.domain)
|
27
27
|
domainId: string
|
28
28
|
|
29
29
|
@ManyToOne(type => Domain)
|
30
|
-
@Field()
|
31
|
-
partnerDomain
|
30
|
+
@Field(type => Domain)
|
31
|
+
partnerDomain?: Domain
|
32
32
|
|
33
33
|
@RelationId((partner: Partner) => partner.partnerDomain)
|
34
34
|
partnerDomainId: string
|
35
35
|
|
36
36
|
@CreateDateColumn()
|
37
|
-
@Field()
|
37
|
+
@Field({ nullable: true })
|
38
38
|
requestedAt: Date
|
39
39
|
|
40
40
|
@UpdateDateColumn()
|
41
|
-
@Field()
|
41
|
+
@Field({ nullable: true })
|
42
42
|
approvedAt: Date
|
43
43
|
|
44
44
|
@ManyToOne(type => User, { nullable: true })
|
@@ -24,13 +24,14 @@ export class Role {
|
|
24
24
|
readonly id: string
|
25
25
|
|
26
26
|
@ManyToOne(type => Domain)
|
27
|
-
|
27
|
+
@Field(type => Domain)
|
28
|
+
domain?: Domain
|
28
29
|
|
29
30
|
@RelationId((role: Role) => role.domain)
|
30
31
|
domainId: string
|
31
32
|
|
32
33
|
@Column()
|
33
|
-
@Field()
|
34
|
+
@Field({ nullable: true })
|
34
35
|
name: string
|
35
36
|
|
36
37
|
@ManyToMany(type => User, user => user.roles)
|
package/translations/en.json
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
{
|
2
|
+
"error.auth error": "auth error. {message}",
|
2
3
|
"error.confirm password not matched": "new password and confirm password is not matched",
|
3
4
|
"error.domain mismatch": "certificate is not for this domain",
|
4
5
|
"error.domain not allowed": "user not allowed domain `{subdomain}`",
|
@@ -54,4 +55,4 @@
|
|
54
55
|
"text.user credential registered successfully": "device registration has been successfully completed. You can now use biometric authentication.",
|
55
56
|
"text.user registered successfully": "user registered successfully. find your email to activate account",
|
56
57
|
"text.verification email sent": "verification email sent"
|
57
|
-
}
|
58
|
+
}
|
package/translations/ja.json
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
{
|
2
|
+
"error.auth error": "認証エラー。{message}",
|
2
3
|
"error.confirm password not matched": "新しいパスワードと確認パスワードが一致しません.",
|
3
4
|
"error.domain mismatch": "証明書のドメインと現在のドメインが一致しません.",
|
4
5
|
"error.domain not allowed": "'{subdomain}' 領域はこのユーザに許可されていません.",
|
@@ -54,4 +55,4 @@
|
|
54
55
|
"text.user credential registered successfully": "デバイスの登録が正常に完了しました。今後は生体認証を使用できます。",
|
55
56
|
"text.user registered successfully": "ユーザーが正常に登録されました. 確認メールでアカウントを有効にしてください.",
|
56
57
|
"text.verification email sent": "確認メールを送りました."
|
57
|
-
}
|
58
|
+
}
|
package/translations/ko.json
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
{
|
2
|
+
"error.auth error": "인증 오류. {message}",
|
2
3
|
"error.confirm password not matched": "새 비밀번호와 확인 비밀번호가 일치하지 않습니다.",
|
3
4
|
"error.domain mismatch": "인증서의 도메인과 현재 도메인이 일치하지 않습니다.",
|
4
5
|
"error.domain not allowed": "'{subdomain}' 영역은 이 사용자에게 허가되지 않았습니다.",
|
@@ -54,4 +55,4 @@
|
|
54
55
|
"text.user credential registered successfully": "기기 등록이 성공적으로 완료되었습니다. 이제 바이오메트릭 인증을 사용할 수 있습니다.",
|
55
56
|
"text.user registered successfully": "사용자가 성공적으로 등록되었습니다. 확인 이메일을 통해서 계정을 활성화하시기 바랍니다.",
|
56
57
|
"text.verification email sent": "확인 이메일을 보냈습니다."
|
57
|
-
}
|
58
|
+
}
|
package/translations/ms.json
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
{
|
2
|
+
"error.auth error": "ralat pengesahan. {message}",
|
2
3
|
"error.confirm password not matched": "Kata laluan baru dan pengesahan kata laluan tidak sepadan",
|
3
4
|
"error.domain mismatch": "Sijil tidak sesuai untuk domain ini",
|
4
5
|
"error.domain not allowed": "Pengguna tidak dibenarkan domain `{subdomain}`",
|
@@ -54,4 +55,4 @@
|
|
54
55
|
"text.user credential registered successfully": "pendaftaran peranti berjaya diselesaikan. Kini anda boleh menggunakan pengesahan biometrik.",
|
55
56
|
"text.user registered successfully": "Pengguna berjaya didaftarkan. Cari e-mel anda untuk mengaktifkan akaun",
|
56
57
|
"text.verification email sent": "E-mel pengesahan telah dihantar"
|
57
|
-
}
|
58
|
+
}
|
package/translations/zh.json
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
{
|
2
|
+
"error.auth error": "认证错误。{message}",
|
2
3
|
"error.confirm password not matched": "新密码与确认密码不匹配!",
|
3
4
|
"error.domain mismatch": "证书不适用于该域!",
|
4
5
|
"error.domain not allowed": "用户无权限使用`{subdomain}`域!",
|
@@ -54,4 +55,4 @@
|
|
54
55
|
"text.user credential registered successfully": "设备注册已成功完成。现在可以使用生物识别认证。",
|
55
56
|
"text.user registered successfully": "用户注册成功。 请查看电子邮件以激活帐户。",
|
56
57
|
"text.verification email sent": "验证邮件已发送"
|
57
|
-
}
|
58
|
+
}
|