사용자 데이터나 기타 데이터에 액세스할 수 있는 권한을 초기 요청에서 모든 범위를 미리 요청하거나 증분 승인을 사용하여 필요한 경우에만 범위를 요청합니다. 점진적 승인을 사용하면 앱에서 처음에 필요하고 추가 범위를 새 권한으로 요청 에 대한 요청 사유를 식별하는 컨텍스트에서 있습니다.
예를 들어 앱에서 사용자가 음악 재생 목록을 저장할 수 있다고 가정해 보겠습니다. Google Drive에 저장 앱은 로그인 시 기본적인 사용자 정보를 요청할 수 있습니다. 사용자가 첫 번째 재생목록을 저장할 준비가 되면 Google Drive 권한만 요청하세요.
다음과 같은 이유로 사용자가 로그인하지 않고 있다고 의심되는 경우 이 방법을 사용하세요. 동의 화면이 너무 많거나 요청 이유를 잘 모르겠다면 할 수 있습니다. 다음 안내는 웹을 위한 것으로 클라이언트 측 로그인 버튼을 추가하는 방법은 다음과 같습니다. Google 2.0 로그인 버튼 빌드 웹의 증분 인증에 관한 자세한 내용은 OAuth 2.0 문서를 참고하세요.
추가 범위 요청
로그인 시 앱이 'base'를 요청합니다. 로그인 범위로 구성된 범위
profile
및 앱이 작업에 필요한 기타 초기 범위
나중에 사용자가 추가 작업이 필요한 작업을 실행하려고 할 때
앱이 이러한 추가 범위를 요청하고 사용자는
동의 화면에서 새 범위를 삭제할 수 있습니다
1단계: 기본 범위 요청
Google 로그인을 초기화할 때 기본 범위 profile
를 요청합니다. 이
단계를
Google 2.0 로그인 버튼 빌드
auth2 = gapi.auth2.init({
client_id: 'CLIENT_ID.apps.googleusercontent.com',
cookiepolicy: 'single_host_origin', /** Default value **/
scope: 'profile' }); /** Base scope **/
2단계: 추가 범위 요청
추가 범위가 필요한 경우 옵션을 구성하여 요청합니다.
빌더를 만들고 user.grant({scope:
[OPTIONS BUILDER]}).then(successFunction, failFunction);
를 호출합니다.
const options = new gapi.auth2.SigninOptionsBuilder();
options.setScope('email https://www.googleapis.com/auth/drive');
googleUser = auth2.currentUser.get();
googleUser.grant(options).then(
function(success){
console.log(JSON.stringify({message: "success", value: success}));
},
function(fail){
alert(JSON.stringify({message: "fail", value: fail}));
});