OAuth 개요 : 사용자가 누구라고 말하는가? :
"Google로 로그인"옵션과 같이 OAuth를 사용하여 Stack Overflow에 로그인했는지 확실하지 않지만이 기능을 사용할 때 Stack Overflow는 단순히 Google에 귀하가 누구인지 알고 있는지 묻는 것입니다.
"Yo Google, Vinesh 친구가 vinesh.e@gmail.com이 자신이라고 주장합니다. 사실인가요?"
이미 로그인되어있는 경우 Google에서 예라고 말합니다. 그렇지 않은 경우 Google은 다음과 같이 말합니다.
"잠시만 기다려주세요.이 친구를 인증하겠습니다. Google 계정에 올바른 비밀번호를 입력 할 수 있다면 바로 그 사람입니다."
Google 비밀번호를 입력하면 Google은 사용자가 누구인지를 Stack Overflow에 알리고 Stack Overflow가 로그인합니다.
앱에서 로그 아웃하면 로그 아웃하고 당신의 응용 프로그램 :
여기에서 OAuth를 처음 접하는 개발자가 가끔 혼란스러워하는 경우가 있습니다. Google과 Stack Overflow, Assembla, Vinesh's-very-cool-slick-webapp은 모두 다른 엔티티이며 Google은 Vinesh의 멋진 웹앱에서 귀하의 계정에 대해 아무것도 모릅니다. 프로필 정보에 액세스하는 데 사용하는 API를 통해 노출되는 것 외에는 마찬가지입니다.
사용자가 로그 아웃하면 사용자는 Google에서 로그 아웃하지 않고 앱, Stack Overflow, Assembla 또는 Google OAuth를 사용하여 사용자를 인증하는 모든 웹 애플리케이션에서 로그 아웃합니다.
실제로 모든 Google 계정에서 로그 아웃해도 여전히 Stack Overflow에 로그인되어 있습니다. 앱에서 사용자가 누구인지 알게되면 해당 사용자는 Google에서 로그 아웃 할 수 있습니다. Google은 더 이상 필요하지 않습니다.
즉, 실제로 귀하에게 속하지 않는 서비스에서 사용자를 로그 아웃하는 것입니다. 다음과 같이 생각해보십시오. 사용자로서 Google 계정으로 5 개의 다른 서비스에 로그인 한 다음 그중 하나에서 처음 로그 아웃 할 때 Gmail 계정에 로그인해야합니다. 다시 그 앱 개발자가 그의 애플리케이션에서 로그 아웃 할 때 Google에서도 로그 아웃해야한다고 결정했기 때문입니다. 그것은 정말 빨리 늙어 갈 것입니다. 요컨대, 당신은 정말로 이것을하고 싶지 않습니다 ...
Yeh yeh, 어쨌든, 여전히 사용자를 Google에서 로그 아웃하고 싶습니다. 어떻게해야하는지 알려주세요.
당신이 경우 말했다, 함께 아직도 구글의 아웃 사용자가 로그, 당신은 아주 잘 그들의 작업 흐름을 방해 할 수 있다는 것을 인식 할, 당신은 동적으로 Google 서비스 중 하나에서 로그 아웃 URL을 만들 수 버튼을 로그 아웃 한 후 사용하여 호출 있음 img 요소 또는 스크립트 태그 :
<script type="text/javascript"
src="https://mail.google.com/mail/u/0/?logout&hl=en" />
또는
<img src="https://mail.google.com/mail/u/0/?logout&hl=en" />
또는
window.location = "https://mail.google.com/mail/u/0/?logout&hl=en";
사용자를 로그 아웃 페이지로 리디렉션하거나 도메인 간 제한이없는 요소에서 호출하면 사용자가 Google에서 로그 아웃됩니다.
이것이 반드시 사용자가 귀하의 애플리케이션에서 로그 아웃된다는 의미는 아니며 Google 만 해당됩니다. :)
요약:
기억해야 할 중요한 점은 앱에서 로그 아웃 할 때 사용자가 암호를 다시 입력하도록 할 필요가 없다는 것입니다. 그게 요점입니다! Google에 대해 인증하므로 사용자는 자신이 사용하는 각 웹 애플리케이션에서 비밀번호를 반복해서 입력 할 필요가 없습니다. 익숙해지는 데는 다소 시간이 걸리지 만 사용자가 Google에 로그인되어있는 한 앱은 사용자가 자신이 말하는 사람인지 아닌지에 대해 걱정할 필요가 없습니다.
OAuth와 함께 Google 프로필 정보를 사용하여 프로젝트에 동일한 구현이 있습니다. 나는 당신이 시도하려는 것과 똑같은 것을 시도했고, 사람들이 계속해서 구글에 로그인해야 할 때 화를 내기 시작했고, 그래서 우리는 그들을 구글에서 로그 아웃하는 것을 중단했습니다. :)