我正在尝试在我的ember-cli站点中实现多个登录选项(因此您可以通过facebook,google或我自己的oauth2服务器进行身份验证)。但是,对于实现这一目标的正确方法,我有点不知所措。就我的研究而言,我可以看到使用ember-simple-auth
有多种方法可以做到这一点。
第一个选项是简单地使用ember-simple-auth-oauth2
,并创建为每个登录方法扩展的身份验证器。这是ember-simple-auth
提供的Authenticated Account和Multiple External Providers示例的组合。显然,这意味着我自己编写所有身份验证器,包括facebook / google的身份验证器。
我看到的第二个选项是使用ember-simple-auth-torii
来验证我的每个登录方法,例如ember-simple-auth
提供的Torii示例。但是,我找不到一个好的oauth2示例来帮助我为自定义oauth2服务器创建提供程序。如果有人可以通过向我展示如何向ember-simple-auth-torii
添加自定义oauth2提供程序来帮助我,我将不胜感激。
最后,最后一个选项(我可以看到)是上述两个选项的组合 - 为google / facebook使用ember-simple-auth-torii
身份验证器,为自己的服务器使用ember-simple-auth-oauth2
身份验证器。显然,我真的不想依赖2个独立的ember-simple-auth软件包,但如果我必须这样做(我假设这样做会有用吗?)。
如果有人可以介绍这些方法或建议新方法允许我通过facebook,google和自定义服务器进行oauth2身份验证,我会很感激。
答案 0 :(得分:4)
使用两个包是可行的方法。构建Ember Simple Auth软件包,以便始终包含基本软件包(ember-simple-auth)以及您要使用的任何其他用于身份验证策略的软件包。如果你是想要使用OAuth 2.0软件包对您自己的服务器进行身份验证,并使用torii软件包对Facebook,Google +等进行身份验证,然后您只需包含这两个软件包。由于ember-simple-auth软件包中的常用功能以及ember-simple-auth-oauth2以及ember-simple-auth-torii软件包仅包含,因此您也不会需要重复的代码。特定于相应身份验证策略的代码。