2

일 - 확인 식별 섹션에는 this note이있다 : 당신은 또한 당신의 자신의 상태 매개 변수를 생성하고 CSRF 보호를 제공하기 위해 로그인 요청과 함께 사용할 수 있습니다Facebook의 수동 로그인 흐름에 사용되는 상태 매개 변수는 무엇입니까? 의 OAuth 인증 API의 FB 개발자 문서에

참고.

정확한 의미를 명확히하는 데 도움이 될 수 있습니까? 나는 하나를 생성하더라도 상태 매개 변수를 어떻게 사용합니까? 승인 요청 URL의 일부로 인코딩합니까? 내가 그 일을해도 무슨 목적이 있겠습니까?

답변

1

인증 요청 URL의 일부로 인코딩합니까?

예. 또한이 문서에서 URL 인코딩 된 선택적 매개 변수로 here을 언급했습니다.

귀하가 제공 한 모든 값은 Facebook에서 반환하는 리디렉션 응답의 URL에 포함됩니다. 따라서 서버에 값을 전달하는 것이 좋습니다.

내가 그랬을 때 어떤 목적을 수행할까요?

값은 단순히 앱과 서버간에 전달되기 때문에 무엇을 할 것인지 결정해야합니다. 언급 된 예제는 CSRF protection입니다. 고유 한 토큰을 상태 매개 변수로 포함시킴으로써 서버에 대한 호출이 악성 사이트가 아닌 앱에서 발생했는지 확인할 수 있습니다.

(I이 요구 사항은 대부분의 공격 벡터와 인증 코드 또는 액세스 토큰 거래를 확인하기 때문에이 광범위하지만, 사용 생각하지 않습니다.)이 FBRLH_statesession가 설정되어 있지 않기 때문에 발생이다

0

.

<?php 
session_start(); 
$_SESSION['FBRLH_state'] = $_GET['state']; 
...