SIWW
  • Sign-in with Wallet (SIWW)
  • Specifications
    • Abstract
    • Motivation
    • Open source libraries
    • Security considerations
  • Use Cases
    • NodeJS - Backend implementation
      • 1. Setup passport-wallet
      • 2. Connect to SIWW
      • 3. Manage your authentication token
      • 4. Add authentication routes
      • 5. Code the views
      • 6. Full sample app
      • 7. Debugging and Q&A
    • ReactJS - connect to backend
      • 1. Add a login route
      • 2. Redirect the route to your backend
    • JS - Native calls to SIWW libs
      • 1. Initialize SIWW client lib
      • 2. Connect to a Wallet
      • 3. Create a message
      • 4. Send a message
      • 5. React JS App
    • Authenticating as an end-user
      • 1. Have a wallet available
      • 2. Connecting and signing
Powered by GitBook
On this page
  1. Use Cases
  2. NodeJS - Backend implementation

4. Add authentication routes

Making use of the passport SIWW strategy and the token library, we defined the oAuth2 routes.

const express = require('express');
const router = express.Router();
const authToken = require('../authenticate/token');
const passportSIWW = require("../authenticate/passport_siww");    

// login via passport-wallet + SIWW
router.get('/siww',passportSIWW.authenticate('SIWW', {session: false}));
router.get('/siww/callback', passportSIWW.authenticate('SIWW', {
    failureRedirect: '/auth/unauthorized',
    session: false
}), function (req, res) {

    // make the auth cookie and redirect
    let token=authToken.createToken(req);
    res.cookie(authToken.getCookieName(), token, authToken.getCookieOptions());
        res.redirect('/app');
    });
Previous3. Manage your authentication tokenNext5. Code the views

Last updated 2 years ago