我正在尝试在我的 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/