
Research
Security News
Malicious PyPI Package Exploits Deezer API for Coordinated Music Piracy
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
@google-cloud/connect-datastore
Advanced tools
Google Cloud Datastore session store for Express/Connect
THIS REPOSITORY AND PACKAGE WILL BE DEPRECATED IN JULY 2024
@google-cloud/connect-datastore is a Google Cloud Datastore session store backed by @google-cloud/datastore.
Note: Cloud Datastore is a persistent, distributed, transactional database. Often, it's more appropriate to choose a different storage solution for sessions such as Memcache or Redis as their designs offer much faster operation in this use case.
npm install @google-cloud/connect-datastore
You must have a Google Cloud project and credentials.
See gcloud node's documentation on setting up authentication.
const {Datastore} = require('@google-cloud/datastore');
const {DatastoreStore} = require('@google-cloud/connect-datastore');
const express = require('express');
const session = require('express-session');
const app = express();
app.use(session({
store: new DatastoreStore({
kind: 'express-sessions',
// Optional: expire the session after this many milliseconds.
// note: datastore does not automatically delete all expired sessions
// you may want to run separate cleanup requests to remove expired sessions
// 0 means do not expire
expirationMs: 0,
dataset: new Datastore({
// For convenience, @google-cloud/datastore automatically looks for the
// GCLOUD_PROJECT environment variable. Or you can explicitly pass in a
// project ID here:
projectId: process.env.GCLOUD_PROJECT,
// For convenience, @google-cloud/datastore automatically looks for the
// GOOGLE_APPLICATION_CREDENTIALS environment variable. Or you can
// explicitly pass in that path to your key file here:
keyFilename: process.env.GOOGLE_APPLICATION_CREDENTIALS
})
}),
secret: 'my-secret'
}));
If a session is fetched with the delta between the createdAt time and current time greater than expirationMs, the session will not be returned and will instead be destroyed.
Datastore does not support a ttl
, and tokens are only deleted if a session
is fetched. You will likely want to implement logic to occasionally delete
expired sessions.
FAQs
Google Cloud Datastore session store for Express/Connect
We found that @google-cloud/connect-datastore demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.
Security News
Newly introduced telemetry in devenv 1.4 sparked a backlash over privacy concerns, leading to the removal of its AI-powered feature after strong community pushback.