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
(文字列) - raven ログイン ページに表示される Web サイトの説明msg
(文字列) - 認証が要求される理由の説明iact
(ブール値) - true
に設定すると、すでにログインしている場合でもユーザーにユーザー名とパスワードの入力を強制します。 false
に設定すると、ユーザーの介入なしでログインできる場合にのみログインします。デフォルトはnull
です。audience
(文字列) - 認証を要求する Web サイトの完全修飾ドメイン名。passReqToCallback
(ブール値) - 設定されている場合、リクエスト オブジェクトが verify 関数の最初の引数として提供されます。したがって、検証コールバックはリクエストの状態を使用して、さらなる処理を調整できます。 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
... .
}
} ) ;
`
パラメータ:
Params にはサーバーから返されたすべての情報が含まれます。次に 2 つの例を示します。
在学生/教職員:
{ 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 ( '/' ) ;
} ) ;
マサチューセッツ工科大学