首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用passport-saml和Koa?

使用passport-saml和Koa?
EN

Stack Overflow用户
提问于 2016-09-24 00:59:40
回答 1查看 450关注 0票数 0

有没有人找到在KoaJS中使用passport-saml的方法?我已经设法找出了问题所在-- passport-saml使用了res.send,这在koa中不可用,但是到目前为止,我还没有找到解决这个问题的方法。

EN

回答 1

Stack Overflow用户

发布于 2016-10-05 13:31:35

我今天也在想同样的事情,偶然发现了这篇文章。没有基于koa的passport-saml实现,然而,有一个称为koa-passport的整洁的中间件模块,它向后兼容旧的passport策略,如passport-saml。它使用mock express request对象来弥补您在使用这些基于express的中间件时遇到的一些差距。

下面是设置的一个片段(full sample here on github):

代码语言:javascript
复制
// 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;

登录和回调路由

代码语言:javascript
复制
// 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('/');
    }
);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39666002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档