Tôi đang làm việc với gói SammyK/Facebook và gặp vấn đề với đăng nhập facebook trên CSRF. Trước đó nó hoạt động tốt, nhưng sau đó tôi phải vô hiệu hóa bảo vệ CSRF trong kernel.php của tôi để làm việc trơn tru cho API. Bây giờ tôi có nó được cập nhật và bổ sung các dòng dưới đây trong middlewareXác thực giả mạo yêu cầu chéo trang không thành công. Yêu cầu "trạng thái" thiếu gói Laravel Sammyk/Facebook
public function handle($request, Closure $next) {
$skip = array(
'api/v1/signup',
'api/v1/login',
'api/v1/addContacts',
'api/v1/email'
);
foreach ($skip as $key => $route) {
//skip csrf check on route
if($request->is($route)){
return parent::addCookieToResponse($request, $next($request));
}
}
return parent::handle($request, $next);
}
Vì vậy, điều này cho phép web và api để làm việc như mong đợi, nhưng kể từ khi tôi đã vô hiệu hóa CSRF tôi nhận được cross-site yêu cầu xác nhận giả mạo thất bại. Yêu cầu "trạng thái" thiếu lỗi khi tôi đăng nhập FB. Tôi đã cố gắng để gỡ lỗi và tìm thấy trong các FacebookRedirectLoginHelper chức năng validateCsrf()
không nhận được savedstate $savedState = $this->persistentDataHandler->get('state');
Tôi không chắc chắn làm thế nào để giải quyết điều này là lý tưởng nó nên làm việc ngay bây giờ.Tôi đã cố gắng in cả $ state và $ savedState và tôi nhận được $ savedState là null.
class FacebookController extends Controller {
public function fbConnect(LaravelFacebookSdk $fb)
{
// Obtain an access token.
try {
$token = $fb
->getRedirectLoginHelper()
->getAccessToken();
} catch (Facebook\Exceptions\FacebookSDKException $e) {
dd($e->getMessage());
}
// Access token will be null if the user denied the request
// or if someone just hit this URL outside of the OAuth flow.
if (! $token) {
// Get the redirect helper
$helper = $fb->getRedirectLoginHelper();
if (! $helper->getError()) {
abort(403, 'Unauthorized action.');
}
// User denied the request
dd(
$helper->getError(),
$helper->getErrorCode(),
$helper->getErrorReason(),
$helper->getErrorDescription()
);
}
đâu tôi gọi mã phiên .... trong login.php hoặc đăng nhập-callback.php – deemi