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.
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.