passport raven
1.0.0
Модуль аутентификации Raven (Кембриджский университет) для паспорта.
Это позволяет аутентифицировать студентов Кембриджского университета.
Это работает как для нынешних, так и для бывших студентов и сотрудников.
npm install passport passport-raven
См. 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' ) ) ;
}
} ) ) ;
Параметры:
desc
(String) — описание веб-сайта, которое будет отображаться на странице входа в систему Raven.msg
(String) — описание того, почему запрашивается аутентификация.iact
(Boolean) — установите значение true
, чтобы заставить пользователей вводить свое имя пользователя и пароль, даже если они уже вошли в систему. Установите значение false
, чтобы войти в систему только в том случае, если это можно сделать без взаимодействия с пользователем. По умолчанию равно null
.audience
(строка) — полное доменное имя веб-сайта, запрашивающего аутентификацию.passReqToCallback
(Boolean) — если установлено, объект запроса предоставляется в качестве первого аргумента функции проверки. Таким образом, обратный вызов проверки может использовать состояние запроса для настройки дальнейшей обработки. 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
... .
}
} ) ;
`
Параметры:
Параметры включают всю информацию, возвращаемую с сервера, вот два примера:
Текущие студенты/сотрудники:
{ 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 }
Бывшие студенты/сотрудники:
{ 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 ( '/' ) ;
} ) ;
Массачусетский технологический институт