파이썬/플라스크를 사용하여 웹 서버 앱에 Google OAuth2 로그인 흐름을 구현했습니다. 내 앱은 사용자를 Google로 리디렉션합니다. 사용자는 Google 자격 증명으로 로그인하고 앱으로 돌아갑니다.Google OAuth2 로그인을 사용하는 앱에서 사용자를 로그 아웃하는 방법은 무엇입니까?
이 앱의 로그 아웃 기능을 구현하는 방법을 결정하는 데 문제가 있습니다. 앱의 세션 쿠키를 지울 수는 있지만 사용자가 Google a/c에서 로그 아웃하지 않습니다. 따라서 사용자가 로그 아웃 한 후 로그인을하면 리디렉션이 Google로 이동하고 사용자는 Google에 계속 로그인되어 있기 때문에 사용자는 자동으로 (자격 증명을 다시 입력하라는 메시지가 표시되지 않음) 내 앱에 다시 서명됩니다.
This SO answer here은 사용자가 모든 Google 서비스에서 로그 아웃해야하는 이유는 무엇입니까? 나쁜 연습. 그게 유일한 길이면, 내가 할게,하지만 더 우아한 해결책이 있다고 가정하고있어?
FWIW, Google 액세스 토큰도 '취소'되지 않습니다. 내 앱은 OAuth2 (see this doc)에 profile
및 email
범위를 사용합니다. 사용자가 명시 적으로 '권한 부여'할 필요는 없으므로 로그인 할 때 사용자에게 강제로 다시 로그인하도록하는 이러한 범위에 대한 액세스 권한을 취소하는 등의 작업은 없습니다.
OAuth2 흐름 기능을 구현하는 데 도움이되는 경우 mostly this doc을 사용했습니다. 코드를 게시 할 수는 있지만 (1)이 기사에 모두 나와 있습니다. (2) 익숙하지 않은 경우가 아니라면이 질문에 대답하는 것과 관련이 없어야합니다.
의견을 보내 주시면 감사하겠습니다.
(구글 귀하의 경우). 언제, 어떻게, 언제, 얼마나 자주 인증 서버가 사용자를 확인하는지는 자체 결정입니다. 결국 그것은 응용 프로그램을 승인 한 것이지 다른 방법으로는 승인하지 못했습니다. 그리고 사용자가 앱 토큰을 취소 할 때까지 그렇게 할 것입니다. 사용자 측에서 토큰을 무효화하면 권한 서버에서 사용자의 신뢰 상태에 영향을 미치지 않습니다. –
@KlausD. 그건 사실이고, 나는 너와 동의한다. ** 따라서, 내 문제에 대한 해결책이 아닌가? ** (이 기사 [https://stackoverflow.com/questions/12909332/how-to-logout-start-policy-policy.aspx] 끝 부분에 제안 된 지저분한 일을하는 것 이외에는 of-an-application-where-i-used-oauth2-to-go-with-google). –
어쨌든 * 문제가 어땠습니까? –