ember.js - ember-simple-auth 多重身份验证器架构

标签 ember.js ember-cli ember-simple-auth

我正在尝试在我的 ember-cli 站点中实现多个登录选项(以便您可以通过 facebook、google 或我自己的 oauth2 服务器进行身份验证)。然而,我对实现这一目标的正确方法有点不知所措。就我的研究而言,我可以看到有多种方法可以使用 ember-simple-auth 来做到这一点。 .

第一个选项是简单地使用 ember-simple-auth-oauth2 ,并创建扩展每个登录方法的身份验证器。这是 Authenticated Account 的组合。和 Multiple External Providers示例由 ember-simple-auth 提供。显然,这意味着我自己编写所有验证器,包括 facebook/google 的验证器。

我看到的第二个选项是使用 ember-simple-auth-torii 验证我的每个登录方法,如Torii ember-simple-auth 提供的示例。但是,我根本找不到一个好的 oauth2 示例来帮助我为自定义 oauth2 服务器创建提供程序。如果有人可以通过向我展示如何将自定义 oauth2 提供程序添加到 ember-simple-auth-torii 来帮助我解决这个问题,我将不胜感激。

最后,最后一个选项(我可以看到)是上面两个选项的组合 - 使用 ember-simple-auth-torii google/facebook 的验证器,以及 ember-simple-auth-oauth2我自己的服务器的验证器。显然,我真的不想依赖 2 个单独的 ember-simple-auth 包,但如果必须的话我可以(我假设这样做会起作用?)。

如果有人可以使用这些方法或建议一种新方法来允许我通过 facebook、google 和自定义服务器进行 oauth2 身份验证,我将不胜感激。

最佳答案

使用这两个包是正确的方法。 Ember Simple Auth 包的构建使您始终包含基本包 (ember-simple-auth) 以及您想要使用的身份验证策略等的任何其他包。如果你例如如果想要使用 OAuth 2.0 包对您自己的服务器进行身份验证,再加上 torii 包对 Facebook、Google+ 等进行身份验证,那么您只需包含这两个包即可。也不会有您需要的重复代码,因为常见功能位于 ember-simple-auth 包中,而 ember-simple-auth-oauth2 以及 ember-simple-auth-torii 包仅包含代码这是特定于各自的身份验证策略的。

关于ember.js - ember-simple-auth 多重身份验证器架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25272450/

相关文章:

session - 刷新后 Torii session 不会持续

ember-simple-auth - 如何使 ember-simple-auth session 过期?

ember.js - 使用 ember-simple-auth 和 torii,尽管服务器响应成功,但模式永远不会关闭, session 也永远不会更新

javascript - 使用 Websockets 的 Ember 数据

testing - 使用 Ember 测试登录测试

javascript - "TransitionTo"影响Ember中的页面刷新

ember.js - Ember.js 中的可选动态段

javascript - Ember CLI : Uncaught SyntaxError: Duplicate data property in object literal not allowed in strict mode

ember.js - 添加新记录时如何立即更新UI?与 ember-cli-pagination 相关