New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

keycloak-mock

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

keycloak-mock - npm Package Compare versions

Comparing version 0.0.9 to 0.0.10

9

dist/createBearerToken.js

@@ -17,12 +17,5 @@ "use strict";

typ: "Bearer",
sub: options.user.sub,
sub: options.user.id,
azp: options.clientID,
session_state: uuid_1.v4(),
gender: options.user.gender,
preferred_username: options.user.preferred_username,
given_name: options.user.given_name,
family_name: options.user.family_name,
email_verified: options.user.email_verified,
name: options.user.name,
email: options.user.email,
}, options.key.toPEM(true), {

@@ -29,0 +22,0 @@ algorithm: "RS256",

41

dist/database.d.ts

@@ -0,18 +1,31 @@

export declare type CreateMockUserProfileOptionsAttributes = {
[key: string]: [string];
};
export interface CreateMockUserProfileOptions {
sub?: string;
name: string;
email: string;
attributes?: {};
id?: string;
createdTimestamp?: number;
username?: string;
enabled?: boolean;
totp?: boolean;
emailVerified?: boolean;
firstName?: string;
lastName?: string;
email?: string;
attributes?: CreateMockUserProfileOptionsAttributes;
}
export declare type MockUserProfileAttributes = {
gender: [string];
[key: string]: [string];
};
export interface MockUserProfile {
sub: string;
name: string;
id: string;
createdTimestamp: number;
username: string;
enabled: boolean;
totp: boolean;
emailVerified: boolean;
firstName: string;
lastName: string;
email: string;
gender: "male" | "female";
preferred_username: string;
given_name: string;
family_name: string;
email_verified: boolean;
created_at: number;
attributes: {};
attributes: MockUserProfileAttributes;
}

@@ -22,3 +35,3 @@ declare class MockDatabase {

constructor();
findUserByID(sub: string): MockUserProfile | null;
findUserByID(id: string): MockUserProfile | null;
clear(): void;

@@ -25,0 +38,0 @@ /**

"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var uuid_1 = require("uuid");
var isNil_1 = __importDefault(require("lodash/isNil"));
var MockDatabase = /** @class */ (function () {

@@ -8,4 +23,4 @@ function MockDatabase() {

}
MockDatabase.prototype.findUserByID = function (sub) {
return this.users.find(function (storedUser) { return storedUser.sub === sub; }) || null;
MockDatabase.prototype.findUserByID = function (id) {
return this.users.find(function (storedUser) { return storedUser.id === id; }) || null;
};

@@ -19,18 +34,18 @@ MockDatabase.prototype.clear = function () {

MockDatabase.prototype.createUser = function (options) {
var sub = options ? options.sub : uuid_1.v4();
var name = options ? options.name : "Henk Jansen";
var email = options ? options.email : "henk@gmail.com";
var attributes = options ? options.attributes : {};
var _a = name.split(" "), givenName = _a[0], familyName = _a[1];
var finalizedOptions = options || {};
var profile = {
sub: sub || uuid_1.v4(),
email: email,
name: name,
email_verified: true,
gender: "male",
given_name: givenName,
family_name: familyName,
preferred_username: email,
created_at: new Date().getTime(),
attributes: attributes || {},
id: finalizedOptions.id || uuid_1.v4(),
createdTimestamp: finalizedOptions.createdTimestamp || new Date().getTime(),
username: finalizedOptions.username || "henk.jansen@gmail.com",
enabled: isNil_1.default(finalizedOptions.enabled)
? true
: finalizedOptions.enabled,
totp: isNil_1.default(finalizedOptions.totp) ? true : finalizedOptions.totp,
emailVerified: isNil_1.default(finalizedOptions.emailVerified)
? true
: finalizedOptions.emailVerified,
firstName: finalizedOptions.firstName || "Henk",
lastName: finalizedOptions.lastName || "Jansen",
email: finalizedOptions.email || "henk.jansen@gmail.com",
attributes: __assign({ gender: ["male"] }, (finalizedOptions.attributes || {})),
};

@@ -37,0 +52,0 @@ this.users.push(profile);

"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -10,18 +21,5 @@ var getUser = function (instance, request) {

200,
{
id: user.sub,
firstName: user.given_name,
lastName: user.family_name,
username: user.preferred_username,
email: user.email,
enabled: true,
totp: false,
emailVerified: user.email_verified,
createdTimestamp: user.created_at,
attributes: user.attributes,
disableableCredentialTypes: ["password"],
requiredActions: [],
federatedIdentities: [],
notBefore: 0,
access: {
__assign(__assign({}, user), {
// TODO: make these configurable
disableableCredentialTypes: ["password"], requiredActions: [], federatedIdentities: [], notBefore: 0, access: {
manageGroupMembership: true,

@@ -32,6 +30,5 @@ view: true,

manage: true,
},
},
} }),
];
};
exports.default = getUser;

@@ -8,4 +8,16 @@ "use strict";

}
return [200, user];
return [
200,
{
sub: user.id,
email_verified: user.emailVerified,
gender: user.attributes.gender[0],
name: user.firstName + " " + user.lastName,
preferred_username: user.username,
given_name: user.firstName,
family_name: user.lastName,
email: user.email,
},
];
};
exports.default = getUserInfo;

@@ -28,12 +28,5 @@ import { v4 as uuidv4 } from "uuid";

typ: "Bearer",
sub: options.user.sub,
sub: options.user.id,
azp: options.clientID,
session_state: uuidv4(),
gender: options.user.gender,
preferred_username: options.user.preferred_username,
given_name: options.user.given_name,
family_name: options.user.family_name,
email_verified: options.user.email_verified,
name: options.user.name,
email: options.user.email,
},

@@ -40,0 +33,0 @@ options.key.toPEM(true),

import { v4 as uuidv4 } from "uuid";
import isNil from "lodash/isNil";
export type CreateMockUserProfileOptionsAttributes = {
[key: string]: [string];
};
export interface CreateMockUserProfileOptions {
sub?: string;
name: string;
email: string;
attributes?: {};
id?: string;
createdTimestamp?: number;
username?: string;
enabled?: boolean;
totp?: boolean;
emailVerified?: boolean;
firstName?: string;
lastName?: string;
email?: string;
attributes?: CreateMockUserProfileOptionsAttributes;
}
export type MockUserProfileAttributes = {
gender: [string];
[key: string]: [string];
};
export interface MockUserProfile {
sub: string;
name: string;
id: string;
createdTimestamp: number;
username: string;
enabled: boolean;
totp: boolean;
emailVerified: boolean;
firstName: string;
lastName: string;
email: string;
gender: "male" | "female";
preferred_username: string;
given_name: string;
family_name: string;
email_verified: boolean;
created_at: number;
attributes: {};
attributes: MockUserProfileAttributes;
}

@@ -30,4 +46,4 @@

findUserByID(sub: string): MockUserProfile | null {
return this.users.find((storedUser) => storedUser.sub === sub) || null;
findUserByID(id: string): MockUserProfile | null {
return this.users.find((storedUser) => storedUser.id === id) || null;
}

@@ -43,20 +59,23 @@

createUser(options?: CreateMockUserProfileOptions): MockUserProfile {
const sub = options ? options.sub : uuidv4();
const name = options ? options.name : "Henk Jansen";
const email = options ? options.email : "henk@gmail.com";
const attributes = options ? options.attributes : {};
const finalizedOptions = options || {};
const [givenName, familyName] = name.split(" ");
const profile: MockUserProfile = {
sub: sub || uuidv4(),
email,
name,
email_verified: true,
gender: "male",
given_name: givenName,
family_name: familyName,
preferred_username: email,
created_at: new Date().getTime(),
attributes: attributes || {},
id: finalizedOptions.id || uuidv4(),
createdTimestamp:
finalizedOptions.createdTimestamp || new Date().getTime(),
username: finalizedOptions.username || "henk.jansen@gmail.com",
enabled: isNil(finalizedOptions.enabled)
? true
: finalizedOptions.enabled,
totp: isNil(finalizedOptions.totp) ? true : finalizedOptions.totp,
emailVerified: isNil(finalizedOptions.emailVerified)
? true
: finalizedOptions.emailVerified,
firstName: finalizedOptions.firstName || "Henk",
lastName: finalizedOptions.lastName || "Jansen",
email: finalizedOptions.email || "henk.jansen@gmail.com",
attributes: {
gender: ["male"],
...(finalizedOptions.attributes || {}),
},
};

@@ -63,0 +82,0 @@

@@ -14,12 +14,4 @@ import { ViewFn } from "../types";

{
id: user.sub,
firstName: user.given_name,
lastName: user.family_name,
username: user.preferred_username,
email: user.email,
enabled: true,
totp: false,
emailVerified: user.email_verified,
createdTimestamp: user.created_at,
attributes: user.attributes,
...user,
// TODO: make these configurable
disableableCredentialTypes: ["password"],

@@ -26,0 +18,0 @@ requiredActions: [],

@@ -11,5 +11,17 @@ import { ViewFn } from "../types";

return [200, user];
return [
200,
{
sub: user.id,
email_verified: user.emailVerified,
gender: user.attributes.gender[0],
name: `${user.firstName} ${user.lastName}`,
preferred_username: user.username,
given_name: user.firstName,
family_name: user.lastName,
email: user.email,
},
];
};
export default getUserInfo;
{
"name": "keycloak-mock",
"version": "0.0.9",
"version": "0.0.10",
"description": "Keycloak server mock for Node.js",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc