angularjs - Satellizer 和 Passport 集成

标签 angularjs passport.js satellizer

我目前有一个运行 PassportJS 的 ExpressJS 应用程序。我使用 Passport 向 GitHub 进行身份验证。这些是现有的端点。

这将创建授权 url 并重定向到该 url:

app.get('/auth/login', passport.authenticate('github'))

这完成了获取访问 token 、用户对象和 json 网络 token 的所有魔法:

app.get('/auth/github/callback', passport.authenticate('github'),
  function(req, res) { 
    res.send(createJWT(req.user));
  })

如您所见,我只有/需要 2 个端点。身份验证/api 位于 http://localhost:8080/,前端位于 http://localhost:3000/

所以我的问题是:Satellizer 与这些现有端点一起使用的设置是什么?我应该使用 $authProvider.github() 还是自定义 $authProvider.oauth() 提供程序对象?

最佳答案

Satellizer 和 Passport 不能很好地相互配合。例如 Satellizer 始终使用 POST 请求,而 Passport 主要依赖于 GET 请求。

无法重新配置 Satellizer 以使用 GET 请求。

关于angularjs - Satellizer 和 Passport 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36225811/

相关文章:

javascript - 在 ng-repeat 中嵌入 ngswitch 时出现 Angular 错误

angularjs - 使用 Satellizer.js 注销

javascript - 如何在 Angular Controller 中更改 Satellizer 的 $authProvider.loginUrl?

angularjs - 如何在 API 错误 401 时删除 token ?

node.js - 身份验证后如何将用户重定向回同一页面?

node.js - Passport 加 express : serialization issue with custom authentication method

javascript - Angular 指令创建 - 使用多个模板

jquery - AngularJS - 仅使用 jqLit​​e 模拟 .prev() ?

angularjs - md-card 和 ng-click 给出烦人的蓝色边框

node.js - 使用 Passport 进行身份验证后创建新 session