Omniauth facebook如何在Facebook应用程序仪表板中设置正确的配置?

时间:2015-10-25 12:32:34

标签: ruby-on-rails facebook devise omniauth-facebook

我知道这个问题已被多次询问,但没有人帮助过我。

我试图通过Facebook登录我的网站,但收到错误:

{"error":{"message":"Error validating verification code. Please make sure your redirect_uri is identical to the one you used in the OAuth dialog request","type":"OAuthException","code":100,"fbtrace_id":"DV9+XV2aZn5"}}

我在facebook应用程序控制台中有以下配置:

enter image description here enter image description here

似乎我错过了设置网址但却无法弄清楚的内容。

更新

应用/模型/ customer.rb

devise :omniauthable, omniauth_providers: [:facebook]

3 个答案:

答案 0 :(得分:3)

似乎是omniauth-facebook gem中的一个bug 请参阅此主题以获取此错误 https://github.com/mkdynamic/omniauth-facebook/issues/220 这也是修复 https://github.com/gioblu/omniauth-facebook/commit/eff97bfae32f72821cbccf0b48b78351e41eb585

答案 1 :(得分:0)

对于设计omniauth,您的回调将具有以下网址结构:

http://localhost:3000/auth/facebook/callback

而不仅仅是您在屏幕截图中显示的http://localhost:3000

答案 2 :(得分:0)

如果您使用的是devise和facebook omniauth,则有效OAuth重定向URI为:

public class MainActivity extends AppCompatActivity {        
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);            
        OkHttpClient client = new OkHttpClient();

        Request request = new Request.Builder()
                .url("http://ppcinj.com?action=login&username=michael&password=qwerty123")
                .build();
        client.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Request request, IOException e) {                    
                Log.e("BNK", e.toString());
            }

            @Override
            public void onResponse(Response response) throws IOException {                    
                Log.i("BNK", response.toString());
            }
        });
    }
}
http://localhost:3000/auth/facebook/callback用于不使用devise时使用omniauth。

我的网站在线,但可以在image

中看到uri