@yimingliao/cms 0.0.26 → 0.0.27
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/index.d.ts +23 -7
- package/dist/server/index.js +43 -19
- package/package.json +1 -1
package/dist/server/index.d.ts
CHANGED
|
@@ -629,15 +629,20 @@ interface CreateAuthUseCases {
|
|
|
629
629
|
jwtService: ReturnType<typeof createJwtService>;
|
|
630
630
|
argon2Service: ReturnType<typeof createArgon2Service>;
|
|
631
631
|
cryptoService: ReturnType<typeof createCryptoService>;
|
|
632
|
+
cookieService: ReturnType<typeof createCookieService>;
|
|
632
633
|
config: {
|
|
634
|
+
refreshTokenName: string;
|
|
635
|
+
refreshTokenTtl: number;
|
|
636
|
+
accessTokenName: string;
|
|
637
|
+
accessTokenSecret: string;
|
|
638
|
+
accessTokenTtl: number;
|
|
633
639
|
resetPasswordSecret: string;
|
|
634
640
|
resetPasswordTtl: number;
|
|
635
641
|
verifyEmailSecret: string;
|
|
636
642
|
verifyEmailTtl: number;
|
|
637
|
-
refreshTokenTtl: number;
|
|
638
643
|
};
|
|
639
644
|
}
|
|
640
|
-
declare function createAuthUseCases({ prisma, adminQueryRepository, adminRefreshTokenCommandRepository, jwtService, argon2Service, cryptoService, config, }: CreateAuthUseCases): {
|
|
645
|
+
declare function createAuthUseCases({ prisma, adminQueryRepository, adminRefreshTokenCommandRepository, jwtService, argon2Service, cryptoService, cookieService, config, }: CreateAuthUseCases): {
|
|
641
646
|
verifyCredentials: ({ email, password, }: {
|
|
642
647
|
email: string;
|
|
643
648
|
password: string;
|
|
@@ -646,6 +651,22 @@ declare function createAuthUseCases({ prisma, adminQueryRepository, adminRefresh
|
|
|
646
651
|
email: string;
|
|
647
652
|
password: string;
|
|
648
653
|
}) => Promise<Admin>;
|
|
654
|
+
createRefreshToken: ({ admin, deviceInfo, ip, }: {
|
|
655
|
+
admin: {
|
|
656
|
+
id: string;
|
|
657
|
+
email: string;
|
|
658
|
+
};
|
|
659
|
+
deviceInfo: DeviceInfo;
|
|
660
|
+
ip: string;
|
|
661
|
+
}) => Promise<string>;
|
|
662
|
+
refreshTokens: ({ admin, deviceInfo, ip, }: {
|
|
663
|
+
admin: {
|
|
664
|
+
id: string;
|
|
665
|
+
email: string;
|
|
666
|
+
};
|
|
667
|
+
deviceInfo: DeviceInfo;
|
|
668
|
+
ip: string;
|
|
669
|
+
}) => Promise<void>;
|
|
649
670
|
signPasswordResetToken: ({ admin }: {
|
|
650
671
|
admin: AdminSafe;
|
|
651
672
|
}) => string;
|
|
@@ -659,11 +680,6 @@ declare function createAuthUseCases({ prisma, adminQueryRepository, adminRefresh
|
|
|
659
680
|
token: string;
|
|
660
681
|
admin: AdminSafe;
|
|
661
682
|
}) => Promise<AdminSafe>;
|
|
662
|
-
createRefreshToken: ({ admin, deviceInfo, ip, }: {
|
|
663
|
-
admin: AdminSafe;
|
|
664
|
-
deviceInfo: DeviceInfo;
|
|
665
|
-
ip: string;
|
|
666
|
-
}) => Promise<string>;
|
|
667
683
|
};
|
|
668
684
|
|
|
669
685
|
declare class ServerError extends Error {
|
package/dist/server/index.js
CHANGED
|
@@ -1554,6 +1554,7 @@ function createAuthUseCases({
|
|
|
1554
1554
|
jwtService,
|
|
1555
1555
|
argon2Service,
|
|
1556
1556
|
cryptoService,
|
|
1557
|
+
cookieService,
|
|
1557
1558
|
config
|
|
1558
1559
|
}) {
|
|
1559
1560
|
async function verifyCredentials({
|
|
@@ -1577,6 +1578,45 @@ function createAuthUseCases({
|
|
|
1577
1578
|
});
|
|
1578
1579
|
return updatedAdmin;
|
|
1579
1580
|
}
|
|
1581
|
+
async function createRefreshToken({
|
|
1582
|
+
admin,
|
|
1583
|
+
deviceInfo,
|
|
1584
|
+
ip
|
|
1585
|
+
}) {
|
|
1586
|
+
const token = cryptoService.generateToken();
|
|
1587
|
+
const tokenHash = cryptoService.hash(token);
|
|
1588
|
+
await adminRefreshTokenCommandRepository.create({
|
|
1589
|
+
tokenHash,
|
|
1590
|
+
ip,
|
|
1591
|
+
deviceInfo,
|
|
1592
|
+
expiresAt: new Date(Date.now() + config.refreshTokenTtl * 1e3),
|
|
1593
|
+
adminId: admin.id,
|
|
1594
|
+
email: admin.email
|
|
1595
|
+
});
|
|
1596
|
+
return token;
|
|
1597
|
+
}
|
|
1598
|
+
async function refreshTokens({
|
|
1599
|
+
admin,
|
|
1600
|
+
deviceInfo,
|
|
1601
|
+
ip
|
|
1602
|
+
}) {
|
|
1603
|
+
const token = await createRefreshToken({ admin, deviceInfo, ip });
|
|
1604
|
+
await cookieService.setSignedCookie({
|
|
1605
|
+
name: config.refreshTokenName,
|
|
1606
|
+
value: token,
|
|
1607
|
+
expireSeconds: config.refreshTokenTtl
|
|
1608
|
+
});
|
|
1609
|
+
const accessToken = jwtService.sign({
|
|
1610
|
+
payload: { id: admin.id },
|
|
1611
|
+
secret: cryptoService.hash(config.accessTokenSecret),
|
|
1612
|
+
expiresIn: config.accessTokenTtl
|
|
1613
|
+
});
|
|
1614
|
+
await cookieService.setSignedCookie({
|
|
1615
|
+
name: config.accessTokenName,
|
|
1616
|
+
value: accessToken,
|
|
1617
|
+
expireSeconds: config.accessTokenTtl
|
|
1618
|
+
});
|
|
1619
|
+
}
|
|
1580
1620
|
function signPasswordResetToken({ admin }) {
|
|
1581
1621
|
const payload = { email: admin.email };
|
|
1582
1622
|
const passwordResetToken = jwtService.sign({
|
|
@@ -1616,33 +1656,17 @@ function createAuthUseCases({
|
|
|
1616
1656
|
});
|
|
1617
1657
|
return updatedAdmin;
|
|
1618
1658
|
}
|
|
1619
|
-
async function createRefreshToken({
|
|
1620
|
-
admin,
|
|
1621
|
-
deviceInfo,
|
|
1622
|
-
ip
|
|
1623
|
-
}) {
|
|
1624
|
-
const token = cryptoService.generateToken();
|
|
1625
|
-
const tokenHash = cryptoService.hash(token);
|
|
1626
|
-
await adminRefreshTokenCommandRepository.create({
|
|
1627
|
-
tokenHash,
|
|
1628
|
-
ip,
|
|
1629
|
-
deviceInfo,
|
|
1630
|
-
expiresAt: new Date(Date.now() + config.refreshTokenTtl * 1e3),
|
|
1631
|
-
adminId: admin.id,
|
|
1632
|
-
email: admin.email
|
|
1633
|
-
});
|
|
1634
|
-
return token;
|
|
1635
|
-
}
|
|
1636
1659
|
return {
|
|
1637
1660
|
verifyCredentials,
|
|
1638
1661
|
updatePassword,
|
|
1662
|
+
createRefreshToken,
|
|
1663
|
+
refreshTokens,
|
|
1639
1664
|
// reset password
|
|
1640
1665
|
signPasswordResetToken,
|
|
1641
1666
|
verifyPasswordResetToken,
|
|
1642
1667
|
// verify email
|
|
1643
1668
|
signEmailVerificationToken,
|
|
1644
|
-
verifyEmailAndUpdate
|
|
1645
|
-
createRefreshToken
|
|
1669
|
+
verifyEmailAndUpdate
|
|
1646
1670
|
};
|
|
1647
1671
|
}
|
|
1648
1672
|
|