approval_prompt=force
을 입력 한 경우 매번 oauth 대화 상자가 강제로 표시됩니다. 이 URL 매개 변수를 삭제하면 후속 인증 흐름에서 사용자에게 메시지가 표시되지 않습니다.
처음으로 사용자가 승인 화면을 볼 때 또는 approval_prompt=force
을 사용하여 강제로 승인 코드를 교환하면 refresh_token 및 access_token이 부여됩니다.
그러나 approval_prompt = force를 사용하지 않을 경우 승인 화면이 표시되지 않을 때마다 인증 코드를 교환 할 때마다 access_token, refresh_token 만 부여됩니다. 따라서 이것이 현재 사용하고있는 흐름 인 경우 사용자의 데이터에 오프라인으로 액세스하려면 나중에 사용할 수 있도록 refresh_token을 로컬에 저장해야합니다. OAuth 2 흐름을 사용하면 인스턴스 Contacts API 데이터, 캘린더 API 데이터, 드라이브 데이터 등의 다른 데이터에 대한 액세스를 요청할 수 있지만 인증 데이터가 아닌 다른 유형의 데이터에 대한 액세스를 요청하는 경우에만 발생할 수 있습니다.) 일반적으로 보통 Open ID 흐름은 오프라인 액세스가 필요하지 않습니다.
사용자가 애플리케이션에있는 동안 애플리케이션이 Google API에 액세스 할 수 있으며 이러한 유형의 애플리케이션은 비밀을 유지할 수 없습니다. 이 권한 부여 플로우는 암시 적 권한 부여 플로우라고합니다. 나는 이것이 내 상황의 경우라고 생각하지 않습니다 Why is there an "Authorization Code" flow in OAuth2 when "Implicit" flow works so well?
:
여기 승인 워크 플로우를 논의 관련 티켓입니다 :다음은 사용자를 인증 할 때 사용되는 샘플 URL이다. Google Apps 관리자가 Marketplace 앱을 설치하면 일반 공개 ID 및 사용자 세부 정보의 범위에 대해 암시 적으로 권한을 부여한 것으로 보입니다. 앱 사용자가 설치 앱을 클릭하면 승인을 요청해서는 안됩니다 (마켓에서 허용). 관리자가 도메인의 사용자에게 액세스 권한을 부여하는 방법을 잘 모르겠습니다. 동의어 : 온라인 액세스를 사용 중이며 사용자 정보와 디렉터리 서비스를 제외한 다른 서비스는 필요하지 않습니다. – Samuel