【问题标题】:What is the difference between passport-azure-ad vs passport-azure-ad-oauth2护照天蓝色广告与护照天蓝色广告oauth2有什么区别
【发布时间】:2016-08-06 11:32:10
【问题描述】:

我们有使用 MEAN 堆栈开发的应用程序。我们计划使用 Azure AD 进行身份验证。

客户端
根据文章here,使用adal JS library 保护客户端资源

服务器端节点 Web API
为了保护服务器端 web api,我关注了 here 的文章,它使用 passport-azure-ad 节点模块。但是在passportjs 网站上,我又遇到了一个节点模块passport-azure-ad-oauth2

所以问题是passport-azure-adpassport-azure-ad-oauth2 之间有什么区别

【问题讨论】:

  • 您引用的文章非常不完整。 “创建一个密钥并将其复制到某个地方,我们稍后会使用它..”然后他们永远不会这样做。

标签: node.js adal azure-active-directory passport.js


【解决方案1】:

我是passport-azure-ad 的维护者。 Passport-azure-ad 来自 Microsoft,不仅支持 OAuth2,还支持预览场景,例如 B2CB2B 以及我们在 BUILD 2016 上宣布的 converged endpoint

passport-azure-ad-oauth2 来自Auth0 团队,不隶属于微软,但他们是非常优秀的团队,文档也很好。我不知道他们对上述其他场景的支持程度。

Azure Active Directory 是一个开放平台,并努力使用 OAuth2 和 Open ID Connect 等开放标准,以便开发人员有这样的选择。

因此,您可以随意使用任何您喜欢的库,但从我的角度来看,我当然提倡使用 GitHub 上存在的 Microsoft OSS 库,例如 passport-azure-ad

这有帮助吗?如果您继续使用passport-azure-ad 时遇到任何问题,请随时告诉我。

【讨论】:

  • 谢谢!!这真的很有帮助
  • 它可以与 express 一起使用吗?我关注的文章正在使用restify
  • 是的。 Restify 从 Express 借用并用于公开 API,因此我真的建议如果您使用 OAuth 构建 REST API,但如果您正在寻找路由等以交互方式登录,请尝试以下示例:github.com/Azure-Samples/…
  • 再次感谢。最后一个问题。我们的应用程序具有 Angular UI + Node Web API。我们不希望未经身份验证的用户直接调用 API。我假设“passport-azure-ad”不会保护任何服务器端 api。我正在关注这篇我认为是你写的文章 :) 以保护服务器端 API azure.microsoft.com/en-us/documentation/articles/…
  • 肯定会的!您只需在要保护的 URL 上调用一个护照插件。你基本上让它知道你想要保护哪些端点,它总是会要求一个令牌或返回一个错误。这实际上是 passport.js 库的一个功能,而不是我的插件 :-) 所以而不是:server.get('/tasks/:owner', getTask); - 这将让任何人在你添加额外的参数(护照插件)来锁定它:server.get('/tasks/:owner', passport.authenticate('oauth-bearer', { session: false }), getTask);
猜你喜欢
  • 1970-01-01
  • 2017-05-02
  • 1970-01-01
  • 1970-01-01
  • 2016-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-17
相关资源
最近更新 更多