Socket
Socket
Sign inDemoInstall

@constlab/vesper-jwt-auth

Package Overview
Dependencies
19
Maintainers
3
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.5 to 0.0.6

9

dist/service/AuthService.d.ts

@@ -52,2 +52,11 @@ import { IUser } from "../base/IUser";

clearAllTokens(user: IUser): Promise<DeleteResult>;
/**
* Check for maximum saved tokens
*
* @protected
* @param {IUser} user
* @returns {Promise<void>}
* @memberof AuthService
*/
protected checkForMaximum(user: IUser): Promise<void>;
}

45

dist/service/AuthService.js

@@ -104,19 +104,20 @@ "use strict";

async saveToken(user, userAgent, refreshToken) {
const tokensCount = await this.entityManager.count(Token_1.Token, {
where: { userId: user.id.toString() }
await this.checkForMaximum(user);
const savedToken = await this.entityManager.findOne(Token_1.Token, {
where: {
client: userAgent,
userId: user.id.toString()
}
});
if (tokensCount + 1 >= this.config.refreshToken.maxSavedTokens) {
await this.clearAllTokens(user);
if (savedToken !== undefined) {
savedToken.token = refreshToken;
return await this.entityManager.save(savedToken);
}
else {
await this.entityManager.delete(Token_1.Token, {
client: userAgent,
userId: user.id.toString()
});
const newToken = new Token_1.Token();
newToken.client = userAgent;
newToken.token = refreshToken;
newToken.userId = user.id.toString();
return await this.entityManager.save(Token_1.Token, newToken);
}
const newToken = new Token_1.Token();
newToken.client = userAgent;
newToken.token = refreshToken;
newToken.userId = user.id.toString();
return await this.entityManager.save(Token_1.Token, newToken);
}

@@ -135,2 +136,18 @@ /**

}
/**
* Check for maximum saved tokens
*
* @protected
* @param {IUser} user
* @returns {Promise<void>}
* @memberof AuthService
*/
async checkForMaximum(user) {
const tokensCount = await this.entityManager.count(Token_1.Token, {
where: { userId: user.id.toString() }
});
if (tokensCount + 1 >= this.config.refreshToken.maxSavedTokens) {
await this.clearAllTokens(user);
}
}
};

@@ -146,2 +163,2 @@ __decorate([

exports.AuthService = AuthService;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0aFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZS9BdXRoU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBb0M7QUFDcEMsaURBQW9EO0FBRXBELDBCQUFnQztBQUdoQywwQ0FBdUM7QUFDdkMscUNBQXNEO0FBU3RELElBQWEsV0FBVyxHQUF4QixNQUFhLFdBQVc7SUFJdkIsWUFDUyxPQUFlLGdCQUFTLENBQUMsR0FBRyxDQUFTLE1BQU0sQ0FBQyxFQUM1QyxTQUFTLGNBQVUsQ0FBQyxNQUFNLEVBQzFCLGFBQTRCO1FBRjVCLFNBQUksR0FBSixJQUFJLENBQXdDO1FBQzVDLFdBQU0sR0FBTixNQUFNLENBQW9CO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ2xDLENBQUM7SUFFSjs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBYSxFQUFFLFFBQWdCLEVBQUUsWUFBb0IsRUFBRTtRQUNqRSxNQUFNLElBQUksR0FBVSxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDbEM7UUFDRCxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3pELFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTO1NBQzdDLENBQUMsQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJ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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0aFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZS9BdXRoU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBb0M7QUFDcEMsaURBQW9EO0FBRXBELDBCQUFnQztBQUdoQywwQ0FBdUM7QUFDdkMscUNBQXNEO0FBU3RELElBQWEsV0FBVyxHQUF4QixNQUFhLFdBQVc7SUFJdkIsWUFDUyxPQUFlLGdCQUFTLENBQUMsR0FBRyxDQUFTLE1BQU0sQ0FBQyxFQUM1QyxTQUFTLGNBQVUsQ0FBQyxNQUFNLEVBQzFCLGFBQTRCO1FBRjVCLFNBQUksR0FBSixJQUFJLENBQXdDO1FBQzVDLFdBQU0sR0FBTixNQUFNLENBQW9CO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ2xDLENBQUM7SUFFSjs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBYSxFQUFFLFFBQWdCLEVBQUUsWUFBb0IsRUFBRTtRQUNqRSxNQUFNLElBQUksR0FBVSxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDbEM7UUFDRCxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3pELFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTO1NBQzdDLENBQUMsQ0FBQztRQUNILE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3hELFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTO1NBQzVDLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXBELE9BQU87WUFDTixXQUFXO1lBQ1gsWUFBWTtZQUNaLElBQUk7U0FDSixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQWlCLEVBQUUsS0FBYTtRQUM3QyxNQUFNLE9BQU8sR0FBK0IsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0UsTUFBTSxNQUFNLEdBQUcsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDbEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQztZQUNwRCxFQUFFLEVBQUUsTUFBTTtTQUNWLENBQUMsQ0FBQztRQUVILE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBSyxFQUFFO1lBQzNELEtBQUssRUFBRTtnQkFDTixNQUFNO2dCQUNOLEtBQUs7Z0JBQ0wsTUFBTSxFQUFFLFNBQVM7YUFDakI7U0FDRCxDQUFDLENBQUM7UUFDSCxJQUFJLFdBQVcsS0FBSyxJQUFJLEVBQUU7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN6RCxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUztTQUM3QyxDQUFDLENBQUM7UUFDSCxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQzFGLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTO1NBQzVDLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXBELE9BQU87WUFDTixXQUFXO1lBQ1gsWUFBWTtZQUNaLElBQUk7U0FDSixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFXLEVBQUUsU0FBaUIsRUFBRSxZQUFvQjtRQUNuRSxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakMsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxhQUFLLEVBQUU7WUFDMUQsS0FBSyxFQUFFO2dCQUNOLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUU7YUFDMUI7U0FDRCxDQUFDLENBQUM7UUFDSCxJQUFJLFVBQVUsS0FBSyxTQUFTLEVBQUU7WUFDN0IsVUFBVSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7WUFFaEMsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDTixNQUFNLFFBQVEsR0FBRyxJQUFJLGFBQUssRUFBRSxDQUFDO1lBQzdCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1lBQzVCLFFBQVEsQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDO1lBQzlCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUVyQyxPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3REO0lBQ0YsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBVztRQUMvQixPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsYUFBSyxFQUFFO1lBQzdDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRTtTQUMxQixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNPLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBVztRQUMxQyxNQUFNLFdBQVcsR0FBVyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGFBQUssRUFBRTtZQUNqRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtTQUNyQyxDQUFDLENBQUM7UUFDSCxJQUFJLFdBQVcsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFO1lBQy9ELE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoQztJQUNGLENBQUM7Q0FDRCxDQUFBO0FBN0lBO0lBREMsZUFBTSxDQUFDLGlCQUFpQixDQUFDOzttREFDZTtBQUY3QixXQUFXO0lBRHZCLGdCQUFPLEVBQUU7cURBUWUsdUJBQWE7R0FQekIsV0FBVyxDQStJdkI7QUEvSVksa0NBQVcifQ==
{
"name": "@constlab/vesper-jwt-auth",
"version": "0.0.5",
"version": "0.0.6",
"description": "vesper + jwt auth",

@@ -12,3 +12,4 @@ "main": "dist/index.js",

"build": "NODE_ENV=prod rm -rf dist/* && tsc && (cd src/ && find . -name '*.gql' | cpio -pdm ../dist/)",
"test": "echo \"No test specified\" && exit 0"
"test": "echo \"No test specified\" && exit 0",
"clean-publish": "clean-publish"
},

@@ -43,3 +44,4 @@ "keywords": [

"@types/jsonwebtoken": "^7.2.8",
"@types/node": "^10.7.0",
"@types/node": "^10.7.1",
"clean-publish": "^1.0.9",
"conventional-changelog-cli": "^2.0.1",

@@ -46,0 +48,0 @@ "sqlite3": "^4.0.2",

@@ -109,20 +109,22 @@ import * as jwt from "jsonwebtoken";

async saveToken(user: IUser, userAgent: string, refreshToken: string): Promise<Token> {
const tokensCount: number = await this.entityManager.count(Token, {
where: { userId: user.id.toString() }
});
if (tokensCount + 1 >= this.config.refreshToken.maxSavedTokens) {
await this.clearAllTokens(user);
} else {
await this.entityManager.delete(Token, {
await this.checkForMaximum(user);
const savedToken = await this.entityManager.findOne(Token, {
where: {
client: userAgent,
userId: user.id.toString()
});
}
}
});
if (savedToken !== undefined) {
savedToken.token = refreshToken;
const newToken = new Token();
newToken.client = userAgent;
newToken.token = refreshToken;
newToken.userId = user.id.toString();
return await this.entityManager.save(savedToken);
} else {
const newToken = new Token();
newToken.client = userAgent;
newToken.token = refreshToken;
newToken.userId = user.id.toString();
return await this.entityManager.save(Token, newToken);
return await this.entityManager.save(Token, newToken);
}
}

@@ -142,2 +144,19 @@

}
/**
* Check for maximum saved tokens
*
* @protected
* @param {IUser} user
* @returns {Promise<void>}
* @memberof AuthService
*/
protected async checkForMaximum(user: IUser): Promise<void> {
const tokensCount: number = await this.entityManager.count(Token, {
where: { userId: user.id.toString() }
});
if (tokensCount + 1 >= this.config.refreshToken.maxSavedTokens) {
await this.clearAllTokens(user);
}
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc