2013-05-07 51 views
9

Ứng dụng web của tôi được triển khai đến một trang web sản xuất, nhưng tôi cũng cần thực hiện phát triển địa phương. Bên cạnh đó, tôi có một vài máy chủ thử nghiệm nơi tôi thực hiện các hoạt động thử nghiệm khác nhau. Tôi muốn chỉ định tất cả các URI này cho Facebook OAuth2. Với Google OAuth2 không có vấn đề gì: Tôi có thể chỉ định nhiều URI chuyển hướng như tôi cần.Chỉ định nhiều URI chuyển hướng cho facebook OAuth2

Điều này có thể thực hiện với Facebook không? Làm sao? Tôi đang sử dụng tùy chọn "Trang web bằng Facebook Đăng nhập" để tích hợp với Facebook.

Hiện nay tôi đang nhận được:

{ 
    error: { 
     message: "Invalid redirect_uri: Given URL is not allowed by the Application configuration.", 
     type: "OAuthException", 
     code: 191 
    } 
} 

Trả lời

1

Bạn sẽ phải thay vì tạo ra ứng dụng khác nhau cho trường hợp sử dụng khác nhau theo yêu cầu của bạn. Đây là một giới hạn kỳ lạ mà bạn sẽ phải đối phó.

Mặc dù không liên quan nhưng Heroku (là đối tác cung cấp dịch vụ đám mây) Getting Started Guide cho Facebook đề xuất cùng một công việc cho working locally cùng với ứng dụng cùng với phát triển.

+2

câu trả lời này có thể đã lỗi thời, câu trả lời từ @ben về "URI chuyển hướng OAuth hợp lệ" hoạt động (xem nhận xét đầu tiên trong câu trả lời đó để biết thêm hướng dẫn chi tiết). – neonstalwart

28

Tôi không chắc chắn khi họ thêm mục này, nhưng tôi vừa phát hiện trường "URI chuyển hướng OAuth hợp lệ" trong cài đặt "Nâng cao" của ứng dụng Facebook của tôi. Tôi chỉ cần đặt http://localhost trong đó và nó xuất hiện để cho phép chuyển hướng đến bất kỳ URI trên localhost của tôi. Không còn ứng dụng trùng lặp nào nữa!

+4

Thông tin thêm tại: https://developers.facebook.com/docs/facebook-login/security/ - chứa: "** Chỉ định danh sách trắng URL chuyển hướng OAuth nếu có thể. ** Chỉ định một tập hợp đầy đủ các URL ứng dụng URL chuyển hướng hợp lệ duy nhất cho ứng dụng của bạn để trả mã thông báo truy cập và mã từ luồng OAuth. Cài đặt này nằm trong phần Cài đặt> Nâng cao> Bảo mật.Nếu bạn để trống cài đặt này, bất kỳ URL nào trong miền của ứng dụng đều có thể nhận mã thông báo truy cập OAuth - điều này khiến ứng dụng dễ bị trộm cắp mã thông báo truy cập nếu tên miền ứng dụng có bất kỳ chuyển hướng mở hoặc lỗ hổng XSS nào. " –

+2

Tôi có thể xác nhận rằng điều này cũng phù hợp với tôi. Bây giờ bạn có thể sử dụng cùng một ứng dụng facebook cho các URL trực tiếp và localhost bằng cách sử dụng cài đặt mới này. –

+1

Tôi đang tìm cách để tôi có thể tắt tính năng "URI chuyển hướng OAuth hợp lệ" để facebook cho phép tôi sử dụng bất kỳ tên miền nào khi sử dụng ứng dụng facebook để tích hợp tính năng đăng nhập facebook. – Phantom007

Các vấn đề liên quan