Code Monkey home page Code Monkey logo

lambda-stateless-usercache's Introduction

lambda-stateless-usercache

install

yarn add lambda-stateless-usercache

Functions

const crypt = require('lambda-stateless-usercache').crypt;
const decrypt = require('lambda-stateless-usercache').decrypt;
const getUniqueStr = require('lambda-stateless-usercache').getUniqueStr;
const writeCachePromise = require('lambda-stateless-usercache').writeCachePromise;
const isExistCachePromise = require('lambda-stateless-usercache').isExistCachePromise;

Use Case

  // login
  const sessionStr = userId + '__' +  getUniqueStr()
  const token =  JSON.stringify({
    expire : new Date() + future,
    userInfo : {
      id : xxx,
      name : uuuu
    }
  });
  const encryptedToken = crypt(token , 'myKey')
  
  await wrireCachePromise(sessionStr)
  
  response.headers['token'] = encryptedToken;
  response.headers['loginSession'] = sessionStr;

  // login check
  const isExistSession = await isExistCachePromise(request.headers.loginSession)
  if (!isExistSession){
    let token;
    try {
      token = JSON.parse(decrypt(request.headers.token , 'myKey'));
    } catch(err){
      logout()
    }
    if (token.expire < new Date()){
      logout()
    }
    
    const sessionStr = token.userInfo.userId + '__' +  getUniqueStr()
    await wrireCachePromise(sessionStr)
 
    response.headers['loginSession'] = sessionStr;
     
  }


lambda-stateless-usercache's People

Contributors

fushimicloud avatar naoto243 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.