내 응용 프로그램 (웹 사이트) 사용자의 인증 소스로 Facebook을 사용하고 싶습니다. 내 응용 프로그램에 기본 권한과 전자 메일 권한 만 있으면 안됩니다. 따라서 내 응용 프로그램은 예를 들어 사용자의 벽에 게시 할 수 없어야합니다. 즉, scope 매개 변수의 허용 가능한 값 집합을 제한하고 싶습니다.이 제한을 응용 프로그램의 구성 페이지 (Facebook 사이트 자체)에서 발생 시키겠습니다.OAuth 'scope'매개 변수 (허용 범위)에 대한 허용 가능한 권한 설정을 제한하는 방법
일반적으로 OAuth URL/call의 범위 매개 변수에 '이메일'을 지정하면 쉽게 처리 할 수 있습니다.
그러나이 경우에는 또 다른 요소가 있습니다. 해커가 앱에 액세스하여 OAuth 호출을 변경하여 더 많은 권한을 지정할 수 있습니다. 그런 다음 의심하지 않는 사용자가 일반적으로 이러한 권한을 부여하고 해커가 OAuth 토큰을 가져 와서 해당 사용자를 대신하여 작업을 수행 할 수 있습니다.
저는이 문제에 대한 논의에 관심이 없습니다. 단지 내 응용 프로그램이 scope 매개 변수의 특정 값 집합 만 사용할 수 있도록 지정하는 방법이 있습니다. 이상적으로이 스코프 제한 사양은 Facebook 자체의 응용 프로그램 구성 페이지에서 수행해야합니다.
그러나 SAML, OpenID 또는 다른 인증 전용 메커니즘 (사용자 이메일 주소를 얻을 수없는 경우에도)을 사용하는 대안 솔루션에 관심이 있습니다. RPX 사용에 관심이 없습니다.
참고 :이 질문은 간단한 질문이 아닙니다. 나는 답을 찾기까지 광범위하게 수색했으며,이 질문과 반대되는 것을 발견했다.
흥미로운 아이디어입니다. 실시간 문서를 보면 사용자가 변경 사항을 요청하지만 사용자가 애플리케이션을 처음 승인 한 것은 아닙니다. –
/me/permissions를 사용하여 처음 확인할 수 있습니다. 따라서 그들이 정확한지 확인하고 실시간으로 올바른 상태를 유지할 수 있습니다. –