2010-09-14 31 views
13

Khi yêu cầu uỷ quyền bằng cách chuyển hướng đến url sau:Sự cố chuyển hướng OAuth trên Facebook của người dùng 'Cho phép URL không được cấu hình ứng dụng cho phép'.

https://graph.facebook.com/oauth/authorize?client_id=...&scope=email,offline_access&redirect_uri=http%3A%2F%2Flocalhost%2Flogin%2Findex.php%3Fcallback%3Dfacebook 

. Redirect_uri Invalid URL Do không được phép của cấu hình ứng dụng 'Facebook lợi nhuận

Có thể vì đơn đăng ký của tôi được đăng ký với http://syncacity.com về cấu hình ứng dụng. Nhưng vẫn còn, twitter cho phép tôi chuyển hướng đến bất kỳ url nào, vậy tại sao facebook lại rên rỉ?

Tôi đánh giá cao những suy nghĩ của bạn :)

Trả lời

10

tại sao không chỉ cần chỉnh sửa file host của bạn và chỉ tên miền của bạn để ip địa phương của bạn thì bạn chỉ cần để chuyển đổi các máy chủ hộp dev trước khi làm bất cứ điều gì.

+0

Tôi đã hỏi câu hỏi này nhiều năm trước và nghĩ rằng tôi sẽ quay lại và cho các bạn biết rằng đây là những gì tôi đã làm từ đó. Tôi thêm miền sản xuất trực tiếp vào tệp lưu trữ của tôi và chuyển lại sau. Nó cũng giúp khi kiểm tra trong Facebook Tabs. Chỉ cần nhớ thay đổi lại khi thử nghiệm triển khai :) –

0

Bạn đã xác định url localhost trong REDIRECT_URL (redirect_uri = http://localhost/login/index.php ..) Tôi không quen thuộc với OAuth nhưng điều đó có thể là vấn đề.

8

Thay đổi url ứng dụng của bạn thành http://localhost trong khi bạn phát triển và sau đó đến trang web của bạn khi nó đang được sản xuất. :)

+18

Đây là một giải pháp nghèo. Facebook đang hạn chế url chuyển hướng đến một cài đặt trong fbApp của bạn. Điều đó làm cho nó khó khăn để phát triển với một trang web trực tiếp. Tại sao 'trang web' của họ không phải là danh sách các máy chủ được phê duyệt để bạn có thể thêm từng máy một để thử nghiệm? IP nội bộ + trang web bên ngoài. – Kieveli

+4

@Kievli: Một giải pháp là tạo ứng dụng cho từng môi trường và giữ các khóa trong tệp cấu hình. Đó là cách dễ nhất tôi tìm được để làm việc với các thông tin đăng nhập FB. – mrmuggles

+0

Làm thế nào để giải pháp này có 10 upvotes? Khùng! –

1

tôi tạo ra một ứng dụng thử nghiệm trong chế độ sandbox (cài đặt nâng cao) sau đó tích hợp vào đó để phát triển và thử nghiệm

4

nó đã được giải quyết - nhờ một trong những nhà phát triển nền tảng Facebook.

Giả sử URL trang web địa phương của bạn là http://localhost:8000 Bạn cần thêm http://localhost:8000 vào cài đặt Ứng dụng Facebook tại "Cài đặt -> Cơ bản -> Trang web-> URL của trang web".

2

Sau đây làm việc cho tôi:

App Domains: localhost 
Site URL: http://localhost 

enter image description here

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