2016-10-11 6 views
0

프로그래밍 방식으로 하나의 계정 (oAuth2 인증)에 폴더 구조를 만들고 폴더를 공유하고 있습니다. 훌륭하게 작동합니다.두 번째 oAuth2 흐름에 대한 폴더/자동 로그 아웃 자동 설치

그런 다음 폴더에 구성원을 추가하여 파일을 편집 할 수 있습니다. 내가 가지고있는 문제는 자동으로 최종 사용자 Dropbox 폴더에 나타나지 않는다는 것입니다. 이동하고 추가/마운트해야합니다. API를 통해 mount_folder를 할 수 있기 때문에 괜찮습니다.하지만 사용자 계정에 로그인하지 않았기 때문에 약간의 고통이 있습니다. (사용자 상호 작용없이 모든 것이 원활하게 이루어지기를 바랍니다.)

우리 시스템은 "사용자"계정에 대한 oauth2 플로우를 다시 프롬프트 할 수 있지만 문제는 원래 oauth2 플로우에서 "메인"계정에 이미 로그인되어있을 가능성이 높기 때문에 & doesnt 새 로그인을 요청하십시오.

두 번째로 oAuth2 플로우를 수행하는 중에 "강제로 로그 아웃"할 수 있습니까?

또는 dropbox에 폴더를 자동 마운트하고 사용자 상호 작용이 필요하지 않은 방법이 있습니까?

FYI, 우리는 PHP를 사용하고 있습니다.

+0

API를, 그래서 완전히 그것을 자동화하는 방법이되지 않습니다 :

은에 두 번째 OAuth2를 URL을 변경했습니다. 사용자의 로그 아웃을위한 솔루션은 작동하지만 (API의 일부로 문서화되지 않았기 때문에 공식적으로 지원되지는 않지만), 또는 [/ oauth2/authorize] (https : /)에'force_reapprove' 매개 변수를 사용할 수 있습니다. /www.dropbox.com/developers/documentation/http/documentation#authorization) 적어도 사용자가 스스로 로그 아웃 할 수있는 기회를 제공하십시오. – Greg

+0

감사합니다 @ 그렉, 또한 그에게 줄 것이다 – spirie

답변

0

가장 간단한 해결책은 Dropbox의 redirect 매개 변수를 사용하여 사용자를 로그 아웃 한 다음 (필요하다면) 먼저 auth url로 다시 리디렉션하는 것이 었습니다. 완벽하지는 않지만 작동합니다. 수신 계정에 폴더를 마운트 할 권한을 필요로 않습니다

header("Location: https://www.dropbox.com/logout?cont=".urlencode(filter_var($auth_url, FILTER_SANITIZE_URL)));