2016-05-02 16 views
9

Tôi đang làm theo hướng dẫn này từ một chuỗi khác. Simple example of popup. Vấn đề là tôi không thể làm cho nó hoạt động trên ứng dụng Laravel của tôi. Tôi không hoàn toàn am hiểu về cookie và tôi không biết phải làm gì với mã số $('#UserInfo').text($.cookie("some_cookie"));.Cửa sổ bật lên xã hội của Laravel

Tôi đã đăng nhập facebook để bật lên. Vấn đề là khi tôi đã đăng nhập thành công, nó sẽ không đóng cửa sổ bật lên thay vào đó, nó sẽ tải đường dẫn chuyển hướng tới nó.

Tôi muốn đóng cửa sổ bật lên sau khi đăng nhập thành công và sau đó tải tuyến đường tiếp theo cho phụ huynh.

<input id="btn-facebook" type="button" value="Connect with Facebook" /> 
<script src="{{ asset('js/jquery.cookie.js') }}"></script> 
<script> 
    var signinWin; 
    $('#btn-facebook').click(function() { 
     // var pos = screenCenterPos(800, 500); 
      signinWin = window.open("{!!URL::to('facebook')!!}", "SignIn", "width=780,height=410,toolbar=0,scrollbars=0,status=0,resizable=0,location=0,menuBar=0,left=" + 500 + ",top=" + 200); 
      setTimeout(CheckLoginStatus, 2000); 
      signinWin.focus(); 
      return false; 
     }); 

    function CheckLoginStatus() { 
     if (signinWin.closed) { 
      $('#UserInfo').text($.cookie("some_cookie")); 
     } 
     else setTimeout(CheckLoginStatus, 1000); 
    } 

</script> 
+0

lưu trữ url được bảo vệ trong phiên> kết nối với oAuth trong cửa sổ bật lên, Xác thực thành công> cookie sẽ được cập nhật cho trang web của bạn như được xác thực chỉ cần đóng cửa sổ bật lên , chuyển hướng đến url được bảo vệ từ bộ nhớ phiên. –

+0

Bằng cách đóng cửa sổ bật lên tôi có nghĩa là bạn luôn có thể kiểm soát các cửa sổ bật lên con từ cha mẹ, viết mã js nhỏ để làm điều đó –

+0

Bạn đang sử dụng phiên bản Laravel nào? –

Trả lời

7

Sau khi bạn được xác thực thành công với API facebook. Facebook sẽ chuyển hướng bạn đến đường dẫn mà bạn đặt cho chuyển hướng (hành vi mặc định).

Đường dẫn này giống với đường dẫn bạn đặt trong Bảng điều khiển API của AdSense cho ứng dụng của bạn. Khi bạn được chuyển hướng đến đường dẫn được cấu hình từ facebook, bạn phải quản lý các phiên, cookie, vv từ thời điểm này trở đi.

Hãy cho chúng tôi biết nếu điều này có giúp ích cho bạn hay không.

2

Laravel hỗ trợ tích hợp xã hội và có các gói chính thức. Socialite for Laravel

Tài liệu có tài liệu tuyệt vời và mẫu mã tuyệt vời.

Vì sự cố của bạn. Tôi sẽ cố gắng giải thích mã của bạn là gì:

Đầu tiên. Bạn có một mã mà sẽ mở ra một cửa sổ mới

signinWin = window.open("{!!URL::to('facebook')!!}", "SignIn", "width=780,height=410,toolbar=0,scrollbars=0,status=0,resizable=0,location=0,menuBar=0,left=" + 500 + ",top=" + 200); 

Và một mã số để kiểm tra nếu cửa sổ được đóng

if (signinWin.closed) { 

Mã này $('#UserInfo').text($.cookie("some_cookie")); chỉ đặt giá trị văn bản đến một phần tử với ID của "UserInfo". Nó không làm gì cả.

Để cho cửa sổ để đóng bạn nên thêm:

signinWin.close() 

mã của bạn. Hoặc bạn mã chỉ cần mở cửa sổ trong cùng một cửa sổ bằng cách đặt:

window.open("{!!URL::to('facebook')!!}", "_self", "width=780,height=410,toolbar=0,scrollbars=0,status=0,resizable=0,location=0,menuBar=0,left=" + 500 + ",top=" + 200); 
Các vấn đề liên quan