passport raven
1.0.0
Module d'authentification Raven (Université de Cambridge) pour passeport.
Cela vous permet d'authentifier les étudiants de l'Université de Cambridge.
Cela fonctionne à la fois pour les étudiants et le personnel actuels et passés.
npm install passport passport-raven
Voir test/server.js
var RavenStrategy = require ( 'passport-raven' ) ;
passport . use ( new RavenStrategy ( {
desc : 'My Raven Application' ,
msg : 'we need to check you are a current student' ,
// use demonstration raven server in development
debug : process . env . NODE_ENV !== 'production'
} , function ( crsid , params , callback ) {
// You can skip this check if you want to support ex students and staff as well
if ( params . isCurrent ) {
callback ( null , { id : crsid } ) ;
} else {
callback ( new Error ( 'My Raven application is only for current students and staff' ) ) ;
}
} ) ) ;
Possibilités :
desc
(String) - une description du site Web à afficher sur la page de connexion Ravenmsg
(String) - une description de la raison pour laquelle l'authentification est demandéeiact
(Boolean) - Définir sur true
pour forcer les utilisateurs à saisir leur nom d'utilisateur et leur mot de passe même s'ils sont déjà connectés. Définir sur false
pour se connecter uniquement si cela peut être fait sans interaction de l'utilisateur. La valeur par défaut est null
.audience
(String) - un nom de domaine complet du site Web demandant l'authentification.passReqToCallback
(Boolean) - S'il est défini, l'objet de requête est fourni comme premier argument de la fonction de vérification. Le rappel de vérification peut donc utiliser l’état de la demande pour poursuivre le traitement. passport . use ( new RavenStrategy ( {
desc : 'My Raven Application' ,
msg : 'we need to check you are a current student' ,
// use demonstration raven server in development
debug : process . env . NODE_ENV !== 'production' ,
passReqToCallback : true
} , function ( req , crsid , params , callback ) {
// this function could be defined elsewhere eg in a Sails app services protocol
... .
}
} ) ;
`
Paramètres :
Les paramètres incluent toutes les informations renvoyées par le serveur, voici deux exemples :
Étudiants/personnel actuels :
{ ver: '3',
status: '200',
msg: '',
issue: '20141007T144208Z',
id: '1412692928-14998-17',
url: 'http://localhost:3000/login',
principal: 'test0001',
ptags: 'current',
auth: 'pwd',
sso: '',
life: '36000',
params: '',
kid: '901',
sig: 'qEK1GusOfnfh6D8BkmTi2iIsEXLmrfOd2TMEXStedOgaDXF7BQnN1nQvD8mudXhLO-rDLhp3JetrAded1XNeNaJPwdU5ZNIf5bJrvln2iqwbY280B4nGusvcOQjDoD1UJQ-J3hEpTDe7miDzGwSB-7zvdkpzt56qPgmUIIYHWs4_',
isCurrent: true }
Anciens étudiants/personnel :
{ ver: '3',
status: '200',
msg: '',
issue: '20141007T144128Z',
id: '1412692886-14816-35',
url: 'http://localhost:3000/login',
principal: 'test0450',
ptags: '',
auth: '',
sso: 'pwd',
life: '35960',
params: '',
kid: '901',
sig: 'otTWl-KZbXbRUMLjwpkoiT.nu8J7GnoHu6V8JzXjAu.XPGBBxRAJXEzCEQfc05jcoFmGWdHWPLjmJgNgom2vnltCu-CZOlAd9105v-k.9.dZQJAc65ugIlHDvPPT2icXiT1zo9.wzkCA.5vwLeUrhA8oKAa-6cuxbbzkwH-.Cc8_',
isCurrent: false }
app . get ( '/auth/raven' , passport . authenticate ( 'raven' ) , function ( req , res ) {
// Successful authentication, redirect home.
res . redirect ( '/' ) ;
} ) ;
MIT