Tên miền ứng dụng Facebook khi sử dụng localhost


85

Từ hướng dẫn ở đây:
http://ankurm.com/blog/api/using-localhost-for-facebook-app-development/1091/

Tôi đã cố gắng thiết lập Khu vực phát triển địa phương cho ứng dụng Facebook của mình. Nhưng khi tôi đặt " http: // localhost: 85 / my_app / " làm tên miền của mình, Facebook cho biết

Miền ứng dụng: " http: // localhost: 85 / app-name / " không được chứa thông tin giao thức.

Ngoài ra khi tôi đặt "localhost: 85 / my_app /" làm tên miền của mình, tôi gặp lỗi:

Miền ứng dụng: localhost: 85 / my_app / không phải là miền hợp lệ.


6
Tôi không tin những gì bạn muốn cập nhật là "Miền ứng dụng" thay vì những gì bạn muốn cập nhật là "URL trang web" nằm tại: Ứng dụng> Chỉnh sửa ứng dụng> Cài đặt> Cơ bản> Trang web với Đăng nhập Facebook. Đảm bảo rằng nó được chọn màu xanh lục và "URL của trang web" sẽ xuất hiện. Bạn có thể nhập http: // localhost - không cần chỉ định cổng, nhưng hầu hết bạn chỉ định giao thức.
Luis Perez

1
Không thể làm cho máy chủ cục bộ hoạt động trong Miền ứng dụng. Đặt Cài đặt nâng cao | 'URI chuyển hướng OAuth hợp lệ' thành url localhost (http: // localhost: port #). Xem github.com/tschellenbach/Django-facebook/issues/376
Joe

Cũng lưu ý, miền ứng dụng phải được localhostđể nó chấp nhận miền. Tôi đã thử với mysite.local và nó không hoạt động. Đã thay đổi Site URL to http://localhost:85/App Domains to http://localhost:85/sau đó được lưu (Tên miền ứng dụng đã sửa đổi FB) để nó hoạt động.
James Lock

Một điều gì đó khác để thử: "Trong cài đặt OAuth của ứng dụng khách, nơi có thông báo Sử dụng Chế độ nghiêm ngặt cho URI chuyển hướng, hãy đảm bảo rằng nó được đặt thành Không và lưu lần truy cập." - wp-native-articles.com/blog/news/…
eflat

Yêu cầu HTTPS để đăng nhập Facebook. Bạn sẽ vẫn có thể sử dụng HTTP với địa chỉ “localhost”, nhưng chỉ khi ứng dụng của bạn vẫn đang ở chế độ phát triển. developers.facebook.com/blog/post/2018/06/08/...
yadavr

Câu trả lời:


58

Giải pháp của tôi:

  1. Để trống Miền ứng dụng
  2. (Sản phẩm) Đăng nhập Facebook> Cài đặt
  3. Thêm http://localhost:85/my_app/vào Valid OAuth redirect URIshộp
  4. Lưu thay đổi

6
@Matt Long: Tôi không tìm thấy hộp URI chuyển hướng OAuth hợp lệ đã bị xóa chưa?
Julian

@MattLong xin cảm ơn! Tôi đã làm cho nó hoạt động bằng cách sử dụng giải pháp Supasates.
Julian

1
Đã làm cho tôi! (Tháng 2 năm 2018)
Daniel nói Hãy phục hồi Monica

10/18/2020 Tôi nhận được cảnh báo này " chuyển hướng localhost tự động được cho phép khi chỉ ở chế độ phát triển và không cần phải thêm vào đây."
Kick Buttowski

56

Có vẻ như giao thức đã được thay đổi.

Đây là giải pháp của tôi (tôi đã thử nghiệm vào ngày 3 tháng 4 năm 2015 và nó hoạt động tốt):

Trong Cài đặt -> Cơ bản tab

  1. Miền ứng dụng: localhost
  2. Nhấp vào " + Thêm nền tảng " và chọn " Trang web "
  3. URL trang web: http: // localhost: <port> / ( <port> là số cổng của bạn)
  4. Lưu thay đổi

3
không hoạt động, s32.postimg.org/4qazo1sl1/…
shershen

4
Cảm ơn bạn! Điều này đã làm việc cho tôi (tháng 5 năm 2016). Lưu ý, 127.0.0.1 không hoạt động.
Milad M

Làm việc cho tôi tháng 6 năm 2017
Alaksandar Chúa Giêsu Gene

Làm! Tháng 12 năm 2017
Pandarian Ld,

44
  1. Để trống Miền ứng dụng
  2. Truy cập trang web bằng Đăng nhập Facebook
  3. Thêm vào http://localhost:port_number/
  4. Lưu các thay đổi và thử lại. Để biết thêm thông tin, hãy truy cập

http://developers.facebook.com/docs/samples/canvas/ Chúc bạn viết mã vui vẻ :-)



7
Không thể làm cho máy chủ cục bộ hoạt động trong Miền ứng dụng. Đặt Cài đặt nâng cao | 'URI chuyển hướng OAuth hợp lệ' thành url localhost (http: // localhost: port #). Xem github.com/tschellenbach/Django-facebook/issues/376
Joe

2
"Trang web có Đăng nhập Facebook" nghĩa là gì? Một tùy chọn bên cạnh "Miền ứng dụng"? Tôi không thấy nó. Việc thêm mục nhập localhost trong "Cài đặt nâng cao | URI chuyển hướng OAuth hợp lệ" đã làm việc cho tôi
Pierre de LESPINAY

Đã làm được chưa, vẫn gặp lỗi: "Cấu hình ứng dụng không cho phép URL đã cung cấp"
Ram Rachum

1
Hoạt động ổn. Tôi chỉ muốn nhận xét rằng điều này chỉ hoạt động với 'localhost' như trong câu trả lời. Tôi đã thử với 127.0.0.1:8000 và không hoạt động
ePi272314

30

Điều này đã thay đổi một số trong những năm qua, nhưng tôi chỉ làm cho nó hoạt động với một ứng dụng web mà tôi đang chạy trên localhost. Đây là những gì tôi đã làm:

  1. Goto https://developers.facebook.com/apps
  2. Chọn ứng dụng của bạn.
  3. Chọn Cài đặt> Cơ bản từ thanh điều hướng bên trái.
  4. Nhấp vào nút Thêm nền tảng ở cuối trang.
  5. Nhấp vào Trang web
  6. Nhập http://localhost:8080/cho URL của trang web.
  7. Nhấp vào nút Khởi động nhanh ở ngoài cùng bên phải của URL trang web bạn vừa nhập.
  8. Một tab mới sẽ mở ra. Trên tab đó, cuộn xuống phần "Cho chúng tôi biết về trang web của bạn" và nhập lạihttp://localhost:8080/ URL của trang web.
  9. Nhấp vào nút Tiếp theo.
  10. Đã cố gắng đăng nhập lại và lần này nó hoạt động.

Chúc may mắn!


2
có một cách để sử dụng hai miền? localhost và miền được sử dụng để sản xuất: /
JCarlosR

Không hoạt động: Vẫn bị kẹt tại, URL bị chặn: Chuyển hướng này không thành công do URI chuyển hướng không được liệt kê trong danh sách trắng trong cài đặt OAuth ứng dụng khách của ứng dụng. Đảm bảo rằng các thông tin đăng nhập OAuth của ứng dụng khách và web đều được bật và thêm tất cả các miền ứng dụng của bạn làm URI chuyển hướng OAuth hợp lệ.
Nikunj Dhimar

28

Giải pháp làm việc 2018

Tôi đã mất nhiều thời gian để tìm ra điều này, vì vậy tôi sẽ chia sẻ giải pháp của mình.

Tôi đã thử tất cả các câu trả lời được đề xuất, nhưng không có gì hiệu quả với tôi và cuối cùng tất cả những gì tôi phải làm là truy cập https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/ và thêm url gọi lại đầy đủ trong URI chuyển hướng OAuth hợp lệ hộp .

Trong trường hợp của tôi, sử dụng ruby ​​trên đường ray, url của tôi trông như thế này http://localhost:3000/user/auth/facebook/callback.

Và ngay sau khi tôi thêm nó, mọi thứ bắt đầu hoạt động! Hy vọng điều này sẽ giúp ai đó đối mặt với vấn đề này.


Cảm ơn bạn! Đáng ngạc nhiên, bạn có giải pháp hoàn hảo khả thi cho thời điểm hiện tại! Chúc mừng.
nakhodkin

Vâng, cảm ơn. Điều này đã làm việc cho tôi. Tôi thêm vào localhost: 5001 phần: URI OAuth chuyển hướng hợp lệ và được kích hoạt: Embedded Trình duyệt OAuth Đăng nhập
David John Coleman II

Điều này cũng làm việc cho tôi. Đây là giải pháp làm việc hiện tại. Tôi đã tạo phiên bản thử nghiệm của ứng dụng cho Đăng nhập Facebook từ localhost. (Cho đến khi Facebook thay đổi mọi thứ một lần nữa!)
Red3

3
Cảm ơn bạn! BANH MY PITA. Sau khi tôi thêm điều đó, thông báo này xuất hiện. Vào tháng 3, chúng tôi sẽ thực hiện một bản cập nhật bảo mật cho cài đặt ứng dụng của bạn để làm mất hiệu lực cuộc gọi từ các URI không được liệt kê trong trường URI chuyển hướng OAuth hợp lệ bên dưới. ứng dụng hoặc trang web của bạn bằng cách yêu cầu một chế độ nghiêm ngặt mới cho URI chuyển hướng Kinda có vẻ như chúng đã bắt đầu sớm?
dbinott

1
Cảm ơn! Tôi cũng đã mất nhiều thời gian (cho đến khi tôi tìm thấy câu trả lời này). Vấn đề là lỗi bạn nhận được từ FB đề nghị bạn nên thêm miền của mình vào "miền của ứng dụng" Điều này không liên quan gì đến vấn đề thực tế. Cảm ơn vì đã lãng phí thời gian của tôi một lần nữa FB :(
Arno van Oordt

11

Đây là những gì tôi đã từng làm.

Nếu bạn đang sử dụng Windows, bạn cần sửa đổi tệp máy chủ. Vị trí tệp máy chủ lưu trữ sẽ ở%SystemRoot%\System32\drivers\etc\

Thêm một dòng mới trong tệp máy chủ lưu trữ như thế này

127.0.0.1    localhost.YOUR-SITE-NAME.com

Lưu tệp máy chủ lưu trữ.

Đi tới bảng điều khiển cài đặt ứng dụng FB và đưa localhost.YOUR-SITE-NAME.comvào trường miền Ứng dụng. Lưu thay đổi.

Bây giờ tải cho bạn môi trường cục bộ như localhost.YOUR-SITE-NAME.comtừ trình duyệt của bạn.

NB: thay đổi TÊN-TRANG WEB của bạn bằng tên miền của bạn.


7

Giải pháp làm việc (tháng 8 năm 2018)

Trước tiên, hãy chọn ứng dụng của bạn trong trang tổng quan dành cho nhà phát triển .

Sau đó, hãy đảm bảo rằng ứng dụng của bạn đang ở chế độ phát triển , vì nó cho phép localhost qua HTTP. Để làm như vậy, hãy nhấp vào nút chuyển đổi nằm ở trên cùng bên phải của trang ứng dụng của bạn.

Cuối cùng, hãy làm theo các ghi chú bên dưới vì chúng có thể gây ra rắc rối nếu điền không đúng cách:

  • Settings > Basic > App Domains nên để trống
  • Products > Facebook Login > Settings > Valid OAuth Redirect URIs nên để trống

nó vẫn hoạt động chứ? tôi gặp lỗi nhãn trắng nếu tôi đặt ứng dụng của mình ở chế độ phát triển.
sagar limbu

1
Tôi có phiên bản ứng dụng thử nghiệm của ứng dụng hiệu quả của mình (luôn ở chế độ phát triển), đã xóa tất cả các trường, nhưng vẫn gặp lỗi: OAuthException URI missmatch
Andreas Richter

Khi ứng dụng của bạn ở chế độ phát triển, bạn không thể kiểm tra bất kỳ điểm cuối nào yêu cầu bạn gửi ứng dụng của mình
ricks

Cảm ơn người anh em, cuối cùng điều này rất khó để tìm ra
Anthony

5

Bạn có thể để trống hoặc sử dụng localhost, http://localhost:85/my_app/là URL


vâng tôi biết url của nó, nhưng dats wot đã được thực hiện trong hướng dẫn, và anh ấy khẳng định nó hoạt động ... đó là lý do tại sao tôi đã thử nó ... nhân tiện tôi cũng đã thử localhost: 85 nhưng nó không hoạt động, nhưng khi tôi đã cố gắng localhost chỉ làm việc ... lý do tôi muốn sử dụng: 85 là bởi vì đó là cổng apache của tôi đang sử dụng ...
Sanya Tobi

Cổng là thông tin giao thức, bạn không cần nó cho trường đó. Như thông báo cho biết: không nên chứa thông tin giao thức.
phwd

để trống nó đã thực hiện thủ thuật. Và một điều nữa nó không chấp nhận localhostlà tên miền.
shashwat

3

Khi tôi viết hướng dẫn đó tại thời điểm đó, cổng đã được phép trong miền ứng dụng. Và tôi thực sự có thể chạy ứng dụng với 81 cổng (máy chủ wamp). Bây giờ có vẻ như facebook không cho phép cổng trong url. Bạn có thể sử dụng localhosttrong miền ứng dụng.

Tôi sẽ cập nhật thông tin trong thời gian sớm nhất. Tôi đang cố gắng tìm ra giải pháp.

Một giải pháp tạm thời là sử dụng localtunnel http://progrium.com/localtunnel/


2

Tôi đã thử nghiệm điều này và nó hoạt động với tôi [tháng 2 năm 2020]:

  1. Cài đặt ngrok và lấy url https của bạn (ví dụ: https://a3asdf23.ngrok.io )
  2. Đến FB App Bảng điều khiển Cài đặt (Basic) -> dưới App Domains -> thêm https://a3asdf23.ngrok.io, https://ngrok.io.
  3. Trên cùng một trang, cuộn xuống hết cỡ, Thêm nền tảng (Trang web), đặt url là https://a3asdf23.ngrok.io. Vẫn chưa kết thúc, hãy nhấp vào QuickStart -> bên dưới "Cho chúng tôi biết về trang web của bạn", đặt cùng một url https://a3asdf23.ngrok.io.
  4. Sau đó đi đến Sản phẩm -> Facebook Đăng nhập -> Settings -> Khách hàng OAuth Cài đặt -> Áp dụng OAuth Redirect URI -> thêm những https://a3asdf23.ngrok.io, https://ngrok.io, https://a3asdf23.ngrok.io/{your-redirect-uri}.

Và bạn đây. Cảm ơn tôi sau :)



1

https://ngrok.com

Đi qua https://ngrok.com/ liên kết để tải về ngrok và giải nén tập tin đó. Mở cmd (tìm kiếm cmd) Đi tới thư mục nơi ngrok được giải nén. Mở ngrok từ dòng lệnh ví dụ: c: /ngrok/ngrok.exe [port] hoặc cd c: / ngrok rồi đến ngrok 80 (ngrok [port]) Bạn sẽ nhận được

ngrok

Tunnel Status                 online
Version                       1.3/1.3
Forwarding                    http://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Forwarding                    https://3ahsdfhska.ngrok.com -> 127.0.0.1:80
Web Interface                 http://127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

Đừng QUÊN để đảm bảo máy chủ wamp của bạn đang mở trên cùng một cổng… (cách kiểm tra -> goto-> wampicon-> apache-> httpd.conf tìm kiếm cổng hoặc 80 (mặc định) sử dụng cổng đó cho ngrok.exe 80)

http://3ahsdfhska.ngrok.com

sẽ là URL để truy cập máy chủ cục bộ của bạn trực tuyến


Tôi muốn kiểm tra ngrok để fowd cho servlet của tôi. Servlet của tôi chạy trên một đường dẫn cụ thể. Ví dụ FOr: localhost: 8080 / plugins / servlet Làm cách nào để hướng dẫn ngrok đến fwd ở đó?
Jorge Valois

0

Nếu bạn gặp lỗi giao thức, bạn không chỉ cần XÓA Http: // mà còn nếu có bất kỳ dấu gạch chéo ngược nào ở cuối địa chỉ web, bạn cũng phải xóa nó đi nếu không nó sẽ không hoạt động. Tôi đã làm điều này và nó hoạt động hoàn hảo! Holla!


0

Cho thêm một dung dịch vào hỗn hợp:

Tôi thiết lập trang web của mình theo hướng dẫn, sau đó thêm ứng dụng thứ hai (Facebook Canvas) và đặt URL đó thành http://localhost:XXXXX. Bây giờ tôi có thể truy cập FB cả trong nước và sản xuất.


0

Tôi phát triển cục bộ và tôi sử dụng URL này: localhost/fb

Sau đó, tôi phải thêm một trang web với URL sau: http://localhost

Trong Miền ứng dụng tôi đã thêm localhost.

Bây giờ nó hoạt động. Vấn đề duy nhất mà tôi gặp phải là bạn phải sử dụng URL này trong tất cả các tập lệnh của mình. Ví dụ

$loginUrl = $helper->getLoginUrl('http://localhost/fb/login-callback.php', $permissions);

Bạn không thể sử dụng 127.0.0.1ở đây ...


0

Tôi đã thử tất cả các giải pháp được đề cập ở đây nhưng không có giải pháp nào hoạt động.

Điều đã giải quyết được vấn đề của tôi là sao chép "URI chuyển hướng OAuth" từ firebase sang ứng dụng facebook "URI chuyển hướng OAuth hợp lệ"

Tôi đã để trống tất cả các miền

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.