2013-04-21 29 views
5

Tôi đang sử dụng OAuthWebSecurity để đăng nhập bằng facebook và đang hoạt động trên máy chủ cục bộ. Tuy nhiên sau đó được triển khai tới máy chủ trực tiếp, tôi nhận được thông báo lỗi sau:đăng nhập facebook bằng oauth không thành công trên máy chủ trực tiếp

Máy chủ từ xa trả lại lỗi: (400) Yêu cầu không hợp lệ.

  • Tôi đã kiểm tra chi tiết tên miền là chính xác trên facebook.
  • Chế độ hộp cát bị tắt.
  • Tôi đã tắt tường lửa cửa sổ - vẫn gặp lỗi tương tự.
  • Câu trả lời từ facebook có định dạng giống hệt nhau trong môi trường sống hoặc cục bộ.
  • Ngày và giờ của máy chủ trực tiếp là chính xác.

Tôi đã kiểm tra cục bộ cũng thay đổi tệp máy chủ thành miền trực tiếp - vẫn hoạt động cục bộ.

Dưới đây là stack trace:

[WebException: The remote server returned an error: (400) Bad Request.] 
System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request) +3291120 
System.Net.WebClient.DownloadString(Uri address) +207 
DotNetOpenAuth.AspNet.Clients.FacebookClient.QueryAccessToken(Uri returnUrl, String authorizationCode) +293 
DotNetOpenAuth.AspNet.Clients.OAuth2Client.VerifyAuthentication(HttpContextBase context, Uri returnPageUrl) +167 
DotNetOpenAuth.AspNet.OpenAuthSecurityManager.VerifyAuthentication(String returnUrl) +502 
Microsoft.Web.WebPages.OAuth.OAuthWebSecurity.VerifyAuthenticationCore(HttpContextBase context, String returnUrl) +231 

Bất kỳ lời đề nghị?

+0

Vui lòng kiểm tra facebook có thể truy cập được trên máy chủ hoặc không phải. nếu không thể truy cập thì hãy thử mở facebook bằng cách sử dụng trình duyệt – Amit

+0

RDC đến máy chủ, mở trình duyệt và có thể tải và đăng nhập vào facebook không thành vấn đề. – Andrew

+0

Bạn đã bao giờ tìm ra giải pháp cho điều này chưa? Tôi đang gặp nó lần đầu tiên. – shannon

Trả lời

1

Có một khiếm khuyết liên quan đến mở này: https://github.com/DotNetOpenAuth/DotNetOpenAuth/issues/203

nhưng thư viện mà là dường như không còn được duy trì: https://github.com/DotNetOpenAuth/DotNetOpenAuth/issues/317#issuecomment-29580565

... mặc dù nó vẫn được nhắc đến trong nhiều văn bản Microsoft. Điều tra có liên quan đến lỗi khác.

Xem thêm: The remote server returned an error: (400) Bad Request Microsoft.AspNet.Membership.OpenAuth

+1

Đối với một người quan sát bên ngoài không hiểu rõ, lưu ý rằng lỗi chính xác đã xuất hiện trong một sản phẩm mới của Microsoft với một tính năng tương tự được thiết lập đồng thời Microsoft đã từ bỏ dự án nguồn mở cũ, nó xuất hiện một cách đáng ngờ như Microsoft kết hợp trực tiếp nguồn cho lợi nhuận sản phẩm. – shannon

+0

Bạn đã thực hiện phương pháp nào để giải quyết nó? – acarlon

1

Đây là một cái cũ, nhưng tôi nhấn một lỗi 400 từ Facebook đăng nhập bằng dotnetopenoath vì nó được tích hợp vào MVC 4 và đã đi trên một đuổi ngỗng hoang dã nghĩ rằng nó đã không làm việc vì nó không còn được hỗ trợ, khi tất cả những gì tôi cần làm là bắt và ghi lại ngoại lệ đã chỉ cho tôi vấn đề đối với trường hợp cụ thể của tôi (cài đặt bằng chứng bí mật ứng dụng):

catch (WebException exception) 
{ 
    using (WebResponse response = exception.Response) 
    { 
     HttpWebResponse httpResponse = (HttpWebResponse) response; 
     m_log.Debug("Error code: " + httpResponse.StatusCode); 
     using (Stream data = response.GetResponseStream()) 
     { 
      if (data != null) 
      { 
       using (var reader = new StreamReader(data)) 
       { 
        string text = reader.ReadToEnd(); 
        m_log.Debug(text); 
       } 
      } 
     } 
    } 
} 
Các vấn đề liên quan