2016-05-03 42 views
55

Lưu ý quan trọng:Thông báo đăng nhập Facebook: "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 đưa vào danh sách cho phép trong Cài đặt ứng dụng khách OAuth của ứng dụng".

Nếu bạn đăng ký để thử nghiệm, đi đến các thiết lập cá nhân của bạn và để sở thích của bạn thêm xóa hồ sơ.

Đang cố gắng để đăng nhập với Facebook để website tôi:

tôi nhận được lỗi sau:

URL Blocked: This redirect failed because the redirect URI is not whitelisted in the app’s Client OAuth Settings. Make sure Client and Web OAuth Login are on and add all your app domains as Valid OAuth Redirect URIs.

My settings (Cơ bản) trong Facebook là:

Trong tab nâng cao, Valid OAuth redirect URIs được thiết lập để:

http://openstrategynetwork.com/_oauth/facebook?close

App public.

thêm những cài đặt (Nâng cao) ở đây: enter image description here

App Khoá và bảo mật là chính xác. Tôi đang sử dụng Meteor và các gói tài khoản của nó.

+0

ROOT_URL của bạn là gì? – aedm

+0

Bạn đang sử dụng url nào để chuyển hướng đến trang đăng nhập Facebook? Bạn vẫn cần chỉ định redirect_uri trong yêu cầu ủy quyền. –

+0

@aedm: ROOT_URL được đặt thành '' 'http: // openstrategynetwork.com''' –

Trả lời

33

Các đăng nhập với nút Facebook trên trang web của bạn được liên kết đến:

https://www.facebook.com/v2.2/dialog/oauth?client_id=1500708243571026&redirect_uri=http://openstrategynetwork.com/_oauth/facebook&display=popup&scope=email&state=eyJsb2dpblN0eWxlIjoicG9wdXAiLCJjcmVkZW50aWFsVG9rZW4iOiIwSXhEU05XamJjU0VaQWdqcmF6SXdOUWRuRFozXzc0X19lbVhGWUJTZGNYIiwiaXNDb3Jkb3ZhIjpmYWxzZX0=

Chú ý: redirect_uri=http://openstrategynetwork.com/_oauth/facebook

Nếu bạn thay đổi các liên kết đến:

redirect_uri=http://openstrategynetwork.com/_oauth/facebook?close

Nó nên làm việc. Hoặc, bạn có thể thay đổi liên kết Facebook thành http://openstrategynetwork.com/_oauth/facebook

Bạn cũng có thể thêm http://localhost/_oauth/facebook vào URI chuyển hướng hợp lệ.

Facebook yêu cầu bạn chuyển danh sách trắng URI chuyển hướng, vì nếu không mọi người có thể đăng nhập bằng Facebook cho dịch vụ của bạn và sau đó gửi mã thông báo truy cập của họ tới máy chủ của kẻ tấn công! Và bạn không muốn điều đó xảy ra;]

+0

Tôi đã thay đổi nó trong facebook. công trinh. wow, cảm ơn bạn rất nhiều :) –

+2

URI chuyển hướng OAuth chính xác là gì? Tôi cho rằng đây sẽ là URL giống với ứng dụng web gốc. – AlvinfromDiaspar

+0

hoạt động như một sự quyến rũ. Cảm ơn rất nhiều. – learner

0

Cố gắng thêm http://openstrategynetwork.com/sigin-facebook vào URL chuyển hướng hợp lệ của cài đặt OAuth của khách hàng cùng với URL chuyển hướng của riêng bạn.

6

Đảm bảo "Tên miền ứng dụng" và Đăng nhập Facebook => URI chuyển hướng OAuth hợp lệ. Tại đó, bạn phải kiểm tra www hoặc mà không cần www. Tốt hơn nếu bạn sử dụng với www hoặc không cho tất cả các URL trong các tệp php, html, css và cài đặt ứng dụng Fb.

Điều khác là nếu bạn đang sử dụng "/" cuối URL, bạn phải thêm URL đó vào cài đặt ứng dụng của URI chuyển hướng OAuth hợp lệ. Ví dụ: - https://www.example.com/index.php/ nếu url này nếu bạn đang sử dụng trong url chuyển hướng, bạn phải đặt url đó thành cài đặt ứng dụng.

Hy vọng điều này sẽ hữu ích.

+0

trong miền ứng dụng bạn thêm cả có và không có www – qwertzman

2

Thay đổi từ hauth.done = Facebook để hauth_done = Facebook trong OAuth trị chuyển hướng URI cố định nó cho tôi.

0

Đăng nhập Helper của trang web của bạn

$ loginUrl = $ helper-> getLoginUrl ('xyz.com/user_by_facebook/', $ quyền);

và trong bảng điều khiển ứng dụng facebook (Dưới tab sản phẩm: Facebook Đăng nhập)

OAuth trị chuyển hướng URI cũng nên cùng xyz.com/user_by_facebook/

như đã đề cập trước đó trong khi thực hiện yêu cầu từ web

3

Đối với ứng dụng Node tôi,

"facebook": { 
     "clientID" : "##############", 
     "clientSecret": "####################", 
     "callbackURL": "/auth/facebook/callback/" 
    } 

đặt callback Url tương

OAuth của tôi chuyển hướng URI như sau

enter image description here

Hãy chắc "/" tại cuối của Facebook auth chuyển hướng URI

Những thiết lập đã làm cho tôi.

0

Chúng tôi có cùng một vấn đề, như một cơn ác mộng.

  1. Đảm bảo ID ứng dụng và Khóa bí mật của bạn chính xác. Nếu bạn đang sử dụng các ứng dụng phát triển, dàn dựng và sản xuất riêng biệt để thử nghiệm, ID ứng dụng và Khóa bí mật khác nhau đối với từng ứng dụng. Đây thường là vấn đề.

  2. Đảm bảo bạn có URL gọi lại được đặt chính xác trong tệp cấu hình ứng dụng của bạn (xem bên dưới). Và sau đó thêm URL này dưới cùng một URL trong cài đặt "Đăng nhập Facebook" nơi thông báo "URI chuyển hướng OAuth hợp lệ". Nó sẽ giống như sau (tùy thuộc vào môi trường của bạn):

http://localhost/auth/facebook/callback http://staging.example.com/auth/facebook/callback http://example.com/auth/facebook/callback

  1. Hãy chắc chắn rằng miền ứng dụng của bạn được thiết lập để các miền chính xác cho mỗi môi trường, bao gồm cả "www" và "no-www".Facebook cũng yêu cầu các tên miền này để khớp với URL của trang web hoặc nền tảng ứng dụng của bạn. Bạn sẽ phải chọn "Thêm nền tảng" để thêm mục này.
+0

yêu cầu đối sánh URI chuyển hướng với URL của trang web là không thể đối với tôi vì URI chuyển hướng của tôi hoặc được xác định trên một máy chủ khác và trang web của tôi được phục vụ từ máy chủ khác, hwo tôi có thể nó? – Jawad

5

Điều này phù hợp với tôi.

redierct_url = http://127.0.0.1:8080/accounts/facebook/login/callback/

tôi đã nhận rằng từ trình duyệt của tôi sau khi nhấp vào nút Facebook bạn duyệt sẽ được chuyển hướng đến một liên kết cho việc tích hợp với Facebook API, vì vậy mà bạn sẽ nhận được chuyển hướng đó. Đối với trường hợp của tôi, liên kết này là từ nơi tôi nhận được redirect_url.

https://www.facebook.com/dialog/oauth?client_id=...&scope=&response_type=code&state=...&redirect_uri=http://127.0.0.1:8080/accounts/facebook/login/callback/

enter image description here enter image description here

0

Trong trường hợp của tôi, tôi đã tích hợp Facebook đăng nhập trong một ứng dụng hướng dẫn Rails. Tôi đã thêm http://localhost:3000/adsf vào URI chuyển hướng OAuth hợp lệ của mình, nhưng ứng dụng Rails sẽ mở url là http://0.0.0.0:3000 và do đó sẽ cố chuyển hướng đến http://0.0.0.0:3000/asdf. Sau khi thêm http://0.0.0.0:3000/asdf vào URI chuyển hướng OAuth hợp lệ hoặc điều hướng đến http://localhost:3000/asdf, nó hoạt động như mong đợi.

2

Khi hỏi viết

In the advanced tab, Valid OAuth redirect URIs is set to: ...

và tôi đã có cùng một vấn đề (bằng văn bản cho Url chuyển hướng vào trường nhập sai) Tôi muốn nhấn mạnh rằng

Đó là KHÔNG

Settings -> Advanced -> Share Redirect Whitelist 

nhưng

Facebook Login -> Settings -> Valid OAuth redirect URIs 

Nó có thể đã tiết kiệm cho tôi 2 giờ dùng thử và lỗi.

+0

Down-cử tri: xin vui lòng thêm một bình luận về mối quan tâm của bạn, nếu không câu trả lời sẽ không tốt hơn. – andymel

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