Node.js-Validator

improve this page | report issue

Übersicht

Die IBM Mobile Foundation stellt ein Node.js-Framework für die Umsetzung von Sicherheitsfunktionen für externe Ressourcen bereit.
Das Node.js-Framework wird als npm-Modul (passport-mfp-token-validation) zur Verfügung gestellt.

Dieses Lernprogramm zeigt, wie eine einfache Node.js-Ressource (GetBalance) mit einem Gültigkeitsbereich (accessRestricted) geschützt wird.

Voraussetzungen:

Modul ‘passport-mfp-token-validation’

Das Modul “passport-mfp-token-validation” stellt einen Authentifizierungsmechanismus für die Überprüfung der von MobileFirst Server ausgegebenen Zugriffstoken bereit.

Führen Sie für die Installation des Moduls den folgenden Befehl aus:

npm install passport-mfp-token-validation@8.0.X

Verwendung

  • Im Beispiel werden die Module express und passport-mfp-token-validation verwendet.

    var express = require('express');
    var passport = require('passport-mfp-token-validation').Passport;
    var mfpStrategy = require('passport-mfp-token-validation').Strategy;
    
  • Definieren Sie Strategy wie folgt:

    passport.use(new mfpStrategy({
      authServerUrl: 'http://localhost:9080/mfp/api',
      confClientID: 'testclient',
      confClientPass: 'testclient',
      analytics: {
          onpremise: {
              url: 'http://localhost:9080/analytics-service/rest/v3',
              username: 'admin',
              password: 'admin'
          }
      }
    }));
    
  • authServerUrl: Ersetzen Sie localhost:9080 durch die IP-Adresse und Portnummer Ihres MobileFirst Server.
  • confClientID, confClientPass: Ersetzen Sie die ID und das Kennwort des vertraulichen Clients durch die in der MobileFirst Operations Console definierten Werte.
  • analytics: Das Element analytics ist generell optional und nur erforderlich, wenn Sie in der Mobile Foundation Analyseereignisse protokollieren möchten.
    Ersetzen Sie localhost:9080, username und password durch die IP-Adresse, die Portnummer, den Benutzernamen und das Kennwort für Ihren Analytics Server.

  • Rufen Sie für die Authentifizierung von Anforderungen passport.authenticate auf:

    var app = express();
    app.use(passport.initialize());
    
    app.get('/getBalance', passport.authenticate('mobilefirst-strategy', {
        session: false,
        scope: 'accessRestricted'
    }),
    function(req, res) {
        res.send('17364.9');
    });
    
    var server = app.listen(3000, function() {
        var port = server.address().port
        console.log("Sample app listening at http://localhost:%s", port)
    });
    
  • Die zu implementierende Strategie (Strategy) sollte mobilefirst-strategy sein.
  • Setzen Sie session auf false.
  • Geben Sie für scope den Bereichsnamen an.

Beispielanwendung

Laden Sie das Node.js-Beispiel herunter.

Verwendung des Beispiels

  1. Navigieren Sie zum Stammordner des Beispiels und führen Sie den Befehl npm install, gefolgt von npm start, aus.
  2. Sie müssen den vertraulichen Client und die geheimen Schlüssel in der MobileFirst Operations Console aktualisieren.
  3. Implementieren Sie eine der Sicherheitsüberprüfungen: UserLogin oder PinCodeAttempts.
  4. Registrieren Sie die passende Anwendung.
  5. Ordnen Sie der Sicherheitsüberprüfung den Bereich accessRestricted zu.
  6. Aktualisieren Sie die Clientanwendung so, dass WLResourceRequest Ihre Servlet-URL ist.
Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on February 27, 2020