2013-06-23 1 views
2

Google 문서 : Google 로그인 버튼이로드되면 사용자가 애플리케이션을 승인했는지 즉시 확인합니다. 이 검사를 "직접 모드"라고하며, 성공하면 Google 서버가 액세스 토큰을 반환하고 콜백에 새 인증 결과 개체를 전달합니다. 버튼이 직접 모드 승인을 할 수없는 경우 사용자는 액세스 흐름을 시작하려면 로그인 버튼을 클릭해야합니다.Gplus 버튼으로 바로 Google Plus 로그인을 삭제하는 법 render/

내 구글 플러스 로그인의 버튼을 헤더 부분에 홈 로그 아웃 페이지가로드, 그것은 다시 구글 플러스 자동 로그인의 결과로 버튼을 렌더링합니다. 이 때문에 사용자는 결코 로그 아웃되지 않습니다. G Plus 버튼을 클릭 할 때 이 로그인 할 수있는 방법은 무엇입니까? G Plus buttom이 스스로를 바꿀 때 언제입니까?

답변

1

', 동의를 요구합니다. 페이스 북은 이러한 옵션을 조금 더 잘 처리하는 것 같다.

gapi.signin.render("splashGPlusReg", { 
'callback': GPSignInCallback, 
'clientid': '<yourclientId>', 
'cookiepolicy': 'single_host_origin', 
'immediate': false, 
'requestvisibleactions': 'http://schemas.google.com/AddActivity', 
'scope': '<scopes>'       
}); 
+1

'immediate'가 작동하지 않아 'approvalprompt'는 작동하지만 사용자가 다시 로그인하도록 요청합니다. 사용자가 버튼을 클릭 한 후 무언가를 시작하는 옵션을 원합니다. 간단하지만 아직 할 수 없어요. – carlosvini

+0

@carlosvini이 어리석은 문제에 대한 해결책을 찾았습니까? –

+0

@JohnDoe 사실 저는했습니다.하지만 "gapi.signin"대신 "gapi.auth.signIn"을 사용하고 있습니다. .render ", 나는 왜 기억하지 않고 나는 지금 그것을 찾을 수 없다는 것을 두려워한다.코드는 다음과 같습니다. https://gist.github.com/jp7carlos/36572ba03bc7f01e5b59 – carlosvini

0

그것은 깨끗한 수정 아니지만, 당신은 콜백에 전달 된 authResultstatus.method 속성에 대해 필터링을 시도 할 수 있습니다. AUTOauthResult.status.method 세트를 유발하지만, null입니다 그 중 하나를 처리하는 모든 콜백 또는 PROMPT (단일 승인 된 구글 계정을 통해 로그인)

필터 (사용자가 여러 개의 Google 계정 중 하나를 선택).

1

즉시 Google Plus 로그인을 삭제하는 방법은 두 가지가 있습니다.

1- 좋은 방법이 아닙니다. 데이터 승인 승인 버튼 = "강제"를 버튼에 사용하십시오. 아래에 예를 작성했습니다.

<span id="signinButton" > 
     <span 
     class="g-signin g-link" 
     data-callback="signinCallback" 
     data-clientid="*****.apps.googleusercontent.com" 
     data-cookiepolicy="single_host_origin" 
     data-scope="https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/plus.profile.emails.read"  
     data-approvalprompt="force" 
     style= "cursor:pointer;"> 
     Login With Google 
     </span> 
    </span> 

이 방법을 추가하면 사용자가 오프라인 액세스에 대한 추가 권한을 부여해야하므로 좋은 접근 방법이 아닙니다. 따라서이 권한으로 인해 사용자가 전혀 가입하지 못하게 할 수 있습니다.

더 나은 접근 방법 : signincallback 기능으로 응답을받은 후 Google에서 로그 아웃하면됩니다. 그냥 다음을 추가하십시오 :

gapi.auth.signOut(); 

응답을받은 후에이 줄을 써야합니다. request.execute (function (resp)) 함수의 마지막 행으로 유지하는 것이 더 좋습니다.

이 코드를 추가하면 Google은 누군가가 로그인 버튼을 클릭하지 않는 한 로그인을 렌더링하지 않습니다.이 접근법이 권장됩니다 또한 Google에 의해