2013-01-06 1 views
2

AuthSub에서 Google Apps 호스트 도메인의 경우 hd 매개 변수를 사용하여 해당 도메인으로 사용자를 리디렉션하고 해당 도메인에 로그인하여 토큰을받을 수 있습니다.OAuth2에서 AuthSub의 hd param 인증과 동일한 것은 무엇입니까?

OAuth2에서 동일한 기능은 무엇입니까? https://developers.google.com/drive/delegation

이 유일한 방법입니다 :

나는 URL을 통해 온? 내가 아는 바로는 서비스 계정이 모든 사용자에게 직접 액세스 할 수 있습니까? 워크 플로는 사용자가 개별 도메인 계정에 로그인해야하는 AuthSub의 경우와 다를 수 있습니다. 이 이해가 맞습니까?

+0

도메인 내 모든 드라이브 사용자 데이터에 액세스하려고하는지 또는 지정된 Google Apps 도메인의 로그인으로 앱 범위를 좁히려 고하는지 명확히 할 수 있습니까? –

+0

개별 사용자 만 가능합니다. 사용자 브라우저가 Google 로그인 화면으로 리디렉션 된 웹 응용 프로그램과 매우 유사하며 토큰/코드가 redirect_uri로 다시 전송됩니다. 일반 Google 로그인 화면 대신 호스트 된 도메인 로그인 화면이 필요합니다. hd = mydomain.com을 추가하려고 시도했지만 로그인 후에 페이지가 oauth2 페이지로 리디렉션되었습니다. 여기서 respone_type, client_id 등이 누락되어 오류가 발생합니다. – MavWolverine

답변

2

해결책을 찾은 것 같지만 올바른지 확실하지 않습니다.

테스트의 경우 인증 URL에 & hd = mydomain.com을 추가하면 도메인 로그인 페이지로 올바르게 리디렉션되었습니다. 로그인 한 후 403 번을 얻었습니다. 관리자가 타사 앱을 비활성화했습니다. 그래서 Google 애플 리케이션 관리자에 로그인하고 확인란을 활성화했습니다. 그리고 그것은 잘 작동했습니다.

Google 드라이브 개발자가 올바른 해결책이거나 현재 AuthSub/OAuth1이 사용 중지 되었기 때문에 현재 작동하는 경우 확인 만하면됩니다.

업데이트 : hd = 기본값이 작동하지 않습니다. 빈 문자열로 설정할 수 있습니다.

+0

작동하는 경우 좋습니다. 그것은 내가 찾을 수있는 문서화 된 기능이 아닙니다. –

+0

@AliAfshar에 설명되어 있습니다. Google의 [OpenID Connect 문서] (https://developers.google.com/identity/protocols/OpenIDConnect)에서 'hd'를 검색하십시오. 클라이언트가 auth URL을 조작하여'hd '를 삭제할 수 있으므로 도메인에 대한 액세스를 제한하려면 결과 ID 토큰에서'hd' 클레임을 확인하십시오. –

1

이것은 좋은 해결책은 아니지만 OAuth2.0의 인증 URI에 user_id 매개 변수를 전달하여 도메인 사용자의 이메일 주소를 전달할 수 있습니다. 이메일 주소를 알고있는 경우입니다.

하지 않으면, 당신은 그들이 곱셈에 로그인 한 경우 올바른 계정을 선택하는 사용자를 신뢰해야

을 내가 말하는 것처럼 :. 죄송합니다, 여기 안 좋은 솔루션입니다.

+0

안녕하세요 알리, 내가하고 싶은 일은 사용자 도메인 로그인 (사용자 이름 포함)을 유지하는 것입니다. 사용자 이름을 기록하고 싶지 않습니다. 초기 AuthSub을 사용하면 hd = mydomain.com을 사용하여 사용자를 앱 로그인 화면으로 리디렉션 할 수 있습니다. 그들은 로그인하여 내 웹 응용 프로그램에 대한 액세스 권한을 부여합니다. – MavWolverine

+0

이것은 정확히 내가 뭘 찾고 있었는지, 감사합니다 !!!! – jonnybro

관련 문제