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:
- Gehen Sie das Lernprogramm Externe Ressource mit MobileFirst Server authentifizieren durch.
- Sie müssen das Mobile Foundation-Sicherheitsframework verstehen.
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
undpassport-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 Sielocalhost: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 Sielocalhost:9080
,username
undpassword
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
) solltemobilefirst-strategy
sein. - Setzen Sie
session
auffalse
. - Geben Sie für
scope
den Bereichsnamen an.
Beispielanwendung
Laden Sie das Node.js-Beispiel herunter.
Verwendung des Beispiels
- Navigieren Sie zum Stammordner des Beispiels und führen Sie den Befehl
npm install
, gefolgt vonnpm start
, aus. - Sie müssen den vertraulichen Client und die geheimen Schlüssel in der MobileFirst Operations Console aktualisieren.
- Implementieren Sie eine der Sicherheitsüberprüfungen: UserLogin oder PinCodeAttempts.
- Registrieren Sie die passende Anwendung.
- Ordnen Sie der Sicherheitsüberprüfung den Bereich
accessRestricted
zu. - Aktualisieren Sie die Clientanwendung so, dass
WLResourceRequest
Ihre Servlet-URL ist.