Validador de Node.js
improve this page | report issueVisión general
IBM Mobile Foundation proporciona una infraestructura Node.js para imponer funciones de seguridad en recursos externos.
La infraestructura Node.js se proporciona como un módulo npm (passport-mfp-token-validation).
Este tutorial muestra cómo proteger un recurso de Node.js simple, GetBalance
, utilizando un ámbito (accessRestricted
).
Requisitos previos:
- Lea la guía de aprendizaje Utilización de MobileFirst Server para autenticar recursos externos.
- Comprensión de la infraestructura de seguridad de Mobile Foundation.
El módulo passport-mfp-token-validation
El módulo passport-mfp-token-validation proporciona un mecanismo de autenticación para verificar las señales de acceso emitidas por MobileFirst Server.
Para instalar el módulo, ejecute:
npm install passport-mfp-token-validation@8.0.X
Utilización
-
El ejemplo utiliza los módulos
express
ypassport-mfp-token-validation
:var express = require('express'); var passport = require('passport-mfp-token-validation').Passport; var mfpStrategy = require('passport-mfp-token-validation').Strategy;
-
Configure
Strategy
de la siguiente manera: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
: Sustituyalocalhost:9080
con la dirección IP y el número de puerto de MobileFirst Server.confClientID
,confClientPass
: Sustituya el ID de cliente y la contraseña confidenciales por los que ha definido en MobileFirst Operations Console.-
analytics
: El elemento de análisis es opcional, y solo es necesario si desea registrarse en sucesos analíticos en Mobile Foundation.
Reemplacelocalhost:9080
,username
, andpassword
con la dirección IP del servidor de análisis, el número de puerto, el nombre de usuario y la contraseña. -
Autentique las solicitudes llamando a
passport.authenticate
: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) });
- En
Strategy
debería usarmobilefirst-strategy
. - Establezca
session
enfalse
. - Especifique el nombre
scope
.
Aplicación de ejemplo
Uso de ejemplo
- Navegue a la carpeta raíz del ejemplo y ejecute el mandato:
npm install
seguido de:npm start
. - Asegúrese de actualizar el cliente confidencial y los valores secretos en MobileFirst Operations Console.
- Despliegue alguna de las comprobaciones de seguridad: UserLogin o PinCodeAttempts.
- Registre la aplicación coincidente.
- Correlacione el ámbito
accessRestricted
en la comprobación de seguridad. - Actualice la aplicación de cliente para crear
WLResourceRequest
en su URL de servlet.
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.