0

모바일 온라인 게임이 있고 내 서버에 플레이어의 user_id가 필요합니다. 하지만 페이스 북은 사용자 계정에서 데이터를 요청하기 위해 access_token을 제공하고 서명 된 user_id를 제공하지 않습니다. 요청시 user_id를 내 서버로 대체하여 다른 사용자가 다른 사용자로 가장 할 수 없도록 SIGNED user_id를 갖는 것이 중요합니다. 염려하는 사람이 클라이언트 바이너리에서 비밀 키를 찾을 수 있기 때문에 클라이언트의 보안은 안전하지 않습니다.모바일 앱에서 사용자 인증

이제 인증 과정에서 중간 단계를 만들어야합니다. access_token을 사용하여 내 서버에 요청합니다. 그러면 사용자 정보 (sloooow이고 클라이언트가 아닌 서버 지리적 위치 (상수)에 따라 다름) MY_SERVER_PRIVATE_KEY + user_id를 사용하여 서명을 만들고이를 클라이언트에 다시 보냅니다. 이것은 큰 문제는 아니지만 인증 과정에서 대기 시간을 만듭니다.

내가 뭔가를 그리워합니까? 내 응용 프로그램 비밀 키로 서명 한 페이스 북에서 user_id를받을 방법이 없습니까?

+0

당신도 정확히 앱의 궁극적 인 기능을 사용하고있는 것을 서버 측 기술 지정하십시오, 난 그냥 페이스 북 API의 동작을 여기에 일반 정보를 게시, –

답변

0

사용자가 앱에 먼저 연결하지 않은 한 서명 된 사용자 ID를 가져올 수 없습니다. 따라서 앱에서 클라이언트 측 또는 서버 측 인증 흐름을 사용해야합니다.

Application Auth Flow documentation at Facebook

+0

감사합니다. 그것은 내가 기대했던대로이다. 그냥 내 앱 구조를 명확히하기 위해 : 나는 서버 requering을 사인했다 user_id 안전하지 않은 공개 클라이언트가 있습니다. 내가 필요한 것은 다른 사용자로 인증을 시도하는 악의적 인 사용자로부터 보호하는 것입니다. 만약 내가 user_id에 클라이언트에 서명을했다면 아무런 보호도 거의하지 않는다. 기술을 가진 사람은 해체해서 키를 찾을 수있다. (컴파일 된 시간을 crypted했다. 여전히 안전하지는 않다.) 일부 소셜 네트워크는 canvas aps, 그게 무슨 질문으로 이끌어 - 내가 필요한 일반적인 기능을해야합니다 asumed 그리고 난 그냥 문서에보고 싶었어. – RawCode

관련 문제