2012-07-26 50 views
1

我使用GAE1.6.3/Java的,聯合登錄,我用的是知名GAE/J註銷,但並沒有摧毀會議

com.google.appengine.api.users.UserService.createLogoutURL(String destinationURL, String authDomain) 

創建創建註銷URL。

使用dev服務器,登錄後登錄,當您嘗試再次登錄時,它會提示登錄面板。現在輸入另一個用戶的電子郵件,登錄後,我會看到與以前的用戶相同的數據。 調試後,我發現這是因爲會話不會在用戶註銷後被破壞,所以另一個用戶登錄系統會將他識別爲以前的用戶。

將應用程序交付給appspot後,當我退出然後嘗試登錄時,它不會將我帶到登錄頁面並直接轉到我的應用程序。我認爲正確的行爲應該像GMail一樣。我認爲根本原因與開發服務器相同。

任何想法?

回答

1

當用戶單擊註銷時,他們將註銷App Engine應用程序,但未註銷聯邦提供程序。它下面的文件中明確提到: https://developers.google.com/appengine/articles/openid

在應用程序中清除會話,爲應用程序提供的註銷URL和使用session.invalidate()無效會話,然後重定向使用com.google.appengine.api。 users.UserService.createLogoutURL(字符串destinationURL,字符串authDomain)

+1

我閱讀了鏈接並按照你的指示,現在它終於有效了。謝謝。 – Mike 2012-07-27 05:21:05