0
誰かがKoaJSでパスポートsamlを使用する方法を見つけましたか?私は問題を特定することができました - パスポートsamlはkoaでは利用できないres.sendを使用していますが、私はそれまでの道のりを見つけることができません。パスポートsamlとコアを使用していますか?
誰かがKoaJSでパスポートsamlを使用する方法を見つけましたか?私は問題を特定することができました - パスポートsamlはkoaでは利用できないres.sendを使用していますが、私はそれまでの道のりを見つけることができません。パスポートsamlとコアを使用していますか?
私は不思議でした今日も同じことをして、このポストを見つけました。 koaベースのpassport-SAML実装はありませんが、passport-saml
のような古いパスポート戦略と下位互換性のある、きちんとしたミドルウェアモジュールkoa-passport
があります。これは、偽の要求オブジェクトを使用して、これらのエクスプレスベースのミドルウェアと遭遇するギャップの一部を埋めるものです。
ここでセットアップ(full sample here on github)の抜粋です:
// passport.js
const Saml = require('passport-saml').Strategy,
passport= require('koa-passport');
passport.serializeUser((user, done) => done(null, user));
passport.deserializeUser((user, done) => done(null, user));
passport.use(new Saml(config, (profile, done) => done(null, profile) });
module.exports = passport;
ログインし、コールバックルート
// app.js
const app = Koa();
app.keys = ['abc'];
app.use(session({key: 'test.cookie'}));
app.use(passport.initialize());
app.use(passport.session());
router.get('/login', passport.authenticate('saml',
{
successRedirect: '/',
failureRedirect: '/login'
})
);
router.post('/login/callback', passport.authenticate('saml',
{
failureRedirect: '/',
failureFlash: true
}),
function *consume() {
this.redirect('/');
}
);