相关疑难解决方法(0)

Rails 4,Devise,Omniauth(有多个提供商)

我花了好几天时间在设计和omniauth上观看RailsCasts,然后通过相关教程来设置使用这些gem的身份验证系统.我认为RailsCasts已经过时了,试图用其他教程修补差距会产生各种各样的问题.

请任何人都可以建议我可以用作实施该系统的基础的当前教程.我有单独的用户和身份验证模型(用户有许多身份验证).

我真的很喜欢在rails 4上使用设计和omniauth(使用CanCan的能力),但是在尝试找到基本设置(使用psql作为数据库)时,我正在撕裂我的头发.

ruby-on-rails devise omniauth

22
推荐指数
1
解决办法
1万
查看次数

设计Omniauth - 设置和定义策略

我试着问这个问题 - 并没有找到任何帮助.

http://stackoverflow.com/questions/33493369/rails-devise-omniauth-problems-with-setup
Run Code Online (Sandbox Code Playgroud)

我放弃了尝试解决问题,并制作了一个全新的应用程序,其中没有别的东西,以便我可以尝试减少其他错误干扰的范围.

在我的新应用程序中,当我点击新注册/新用户链接时,我现在收到错误.

我已经按照rails casts教程(已经尝试了大约20个其他人)来进行此设置.1.5年,我仍然在苦苦挣扎.

问题在于控制器中策略的定义方式.我有4个策略(推特,Facebook,谷歌和linkedin),当我尝试点击链接创建这些帐户的新注册时,我目前正在为每个策略收到不同的错误:

对于Twitter:未知操作无法为Users :: AuthenticationsController找到操作'twitter'

对于Facebook:

Given URL is not permitted by the Application configuration: One or more of the given URLs is not permitted by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains.
Run Code Online (Sandbox Code Playgroud)

这个错误是因为我无法弄清楚Facebook的文档.它显示了如何使用js登录Facebook,我试图在Rails中使用gems.我并不担心这个错误.我认为它与我的网站没有被定义为本地主机有关,虽然我找不到任何地方,但在Facebook的开发者控制台中的回调网址.我的问题与这个问题没有关系,我会帮助你解决这个问题.

对于LinkedIn:

Safari can’t open the page “https://www.linkedin.com/uas/oauth2/authorization?client_id=LINKEDIN_DEV_ID&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fusers%2Fauth%2Flinkedin%2Fcallback&response_type=code&scope=r_basicprofile+r_emailaddress&state=3fef961c10410464cd5b0ca49b25112ce53fb65f1a3c794f”.
Run Code Online (Sandbox Code Playgroud)

错误是:"无法解码原始数据"(NSURLErrorDomain:-1015)我有一个oauth2回调定义为:

http://localhost:3000/users/auth/linkedin/callback
Run Code Online (Sandbox Code Playgroud)

我不知道这里打破了什么.

对于谷歌:

translation missing: en.devise.authentications.user.failure
Run Code Online (Sandbox Code Playgroud)

单击此链接时,新注册视图只会刷新,并显示错误消息.我也不知道是什么导致了这个错误.

每个错误都不同.

我的控制器文件夹中有一个名为users的文件夹.在里面我有两个控制器如下:

认证控制器:

class Users::AuthenticationsController < …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise omniauth

5
推荐指数
1
解决办法
437
查看次数

标签 统计

devise ×2

omniauth ×2

ruby-on-rails ×2