9

我使用以下示例将 Devise 和 OmniAuth 与我的 Mongoid ORM 设置集成:

https://github.com/plataformatec/devise/wiki/Example-Applications

我的客户端代码主要是 JavaScript (ExtJS),并且依赖 JSON 进行所有通信。我不使用 Rails 模板。我希望构建一个多提供者身份验证模型,主要使用用户/通行证、Facebook 和 Twitter。我很难将关于我的应用程序堆栈的完整用户身份验证流程放在一起。

我正在寻找一个使用 JSON 响应标准身份验证操作的示例,而不是重定向,并提供与使用 Mongoid 的 OmniAuth 的集成。除了上述示例之外,我还阅读了 Ryan Bates 的关于 Devise 和 OmniAuth 的 Railscast。到目前为止,我处理过的每个示例要么是 ActiveRecord,要么是面向 Rails 模板的。任何指针表示赞赏!

4

2 回答 2

4

这个 (https://github.com/fertapric/rails3-mongoid-devise-omniauth) 是一个很好的示例应用程序,用于设置 rails 3、devise、omniauth 和 mongoid,以及一个与之配套的教程:https ://github.com/fortuity/rails3-mongoid-devise/wiki/Tutorial-(演练

然后你需要重写用户会话控制器来为你的应用程序提供正确的 json 响应,这里有一个很好的例子:https ://gist.github.com/733647和这里:http://groups.google。 com/group/plataformatec-devise/browse_thread/thread/daa3332b3c4a1b4b

希望这可以帮助

于 2011-04-23T16:54:50.980 回答
0

我建议您使用 Rails 3.1 ActiveModel::SecurePassword 而不是使用 Devise 推出自己的身份验证机制。与尝试调整 Devise 以提供 JSON 响应相比,您将获得更简洁的解决方案。

如果您不能使用 Rails 3.1,我仍然建议您使用自己的方法,而不是覆盖内部的 Devise 方法(Nesbitt 链接到的要点就是这样做的)。

于 2011-06-26T20:23:58.807 回答