클라이언트는 사용자의 Facebook 액세스 토큰을 인증 서버의 액세스 토큰으로 교환 할 수 있습니다.
2 개의 인증 서버 (Facebook과 개인용) 중 두 가지를 염두에두고 있습니까? 그렇다면 - OAuth를 남용하고 대신 승인 코드 부여 체계를 사용해야합니다.
의 OAuth 2.0 사양 (V25)에서 그림 5에
당신은 워크 플로우 정의를 찾을 수 있습니다
리소스 소유자는 사용자 이름과 암호를 사용하여 클라이언트를 제공합니다.
클라이언트는 자원 소유자로부터 수신 한 신임을 포함하여 권한 서버의 토큰 엔드 포인트에서 액세스 토큰을 요청합니다. 요청을하면, 클라이언트는 권한 서 v로 인증합니다.
인증 서버가 클라이언트를 인증하고 자원 소유자 자격 증명의 유효성을 검사하고 유효한 경우 액세스 토큰을 발행합니다. 귀하의 사이트에 사용자를 기록하기 위해
이 세 가지 일이 필요 :
이
페이스 북
http://developers.facebook.com/docs/guides/web/에서 인용 한 것입니다. 첫째, Facebook은 사용자를 인증해야합니다. 이렇게하면 사용자는 자신이 말하는 사람이됩니다. 둘째, Facebook은 귀하의 웹 사이트를 인증해야합니다. 이렇게하면 사용자가 자신의 정보를 다른 사람이 아닌 귀하의 사이트에 제공합니다. 마지막으로 사용자는 자신의 정보에 액세스하기 위해 웹 사이트를 명시 적으로 승인해야합니다. 이렇게하면 사용자가 자신의 사이트에 어떤 데이터를 공개하는지 정확히 알 수 있습니다.
두 경우 모두 하나의 인증 서버 (귀하의 경우에는 Facebook)가 있습니다.
예, 실제로이 구성표에는 2 개의 인증 서버가 있습니다. 첫 번째는 API의 일부이고 두 번째는 FB입니다. 그래서 클라이언트가 이미 사용자의 FB 액세스 토큰을 가지고 있다면 토큰을 사용자의 자격 증명으로 사용할 수 있다고 생각했습니다. 로그인/패스 코드를 입력 할 필요가 없습니다. 그런 다음 인증 서버는 토큰이 유효한지 확인하고 새 토큰을 발행 할 수 있습니다 (자체 서버의 경우). 나는 이것이 의미가되기를 바란다 : –
그리고 나는 나의 응답에서 Authorization Code Grant를 사용하는 것이 옳다는 것을 썼다. –