passport raven
1.0.0
Raven (Universität Cambridge) Authentifizierungsmodul für Reisepässe.
Damit können Sie Studierende der University of Cambridge authentifizieren.
Es funktioniert sowohl für aktuelle als auch für ehemalige Studierende und Mitarbeiter.
npm install passport passport-raven
Siehe 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' ) ) ;
}
} ) ) ;
Optionen:
desc
(String) – eine Beschreibung der Website, die auf der Raven-Anmeldeseite angezeigt werden sollmsg
(String) – eine Beschreibung, warum eine Authentifizierung angefordert wirdiact
(Boolean) – Auf true
setzen, um Benutzer zu zwingen, ihren Benutzernamen und ihr Passwort einzugeben, auch wenn sie bereits angemeldet sind. Auf false
setzen, um sich nur dann anzumelden, wenn dies ohne Benutzerinteraktion möglich ist. Der Standardwert ist null
.audience
(String) – ein vollständig qualifizierter Domänenname der Website, die die Authentifizierung anfordert.passReqToCallback
(Boolean) – Wenn festgelegt, wird das Anforderungsobjekt als erstes Argument für die Überprüfungsfunktion bereitgestellt. Der Verifizierungsrückruf kann daher den Status der Anfrage nutzen, um die weitere Bearbeitung anzupassen. 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
... .
}
} ) ;
`
Parameter:
Zu den Parametern gehören alle vom Server zurückgegebenen Informationen. Hier sind zwei Beispiele:
Aktuelle Studierende/Mitarbeiter:
{ 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 }
Ehemalige Studierende/Mitarbeiter:
{ 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