openid 2.0はGoogleによって廃止されたため、アプリケーションでユーザーを認証するためにGoolge openid connectを使用しています。
Google openid 接続要求を行うと、ユーザーの詳細を取得するアクセス トークンを取得し、ユーザーのメールをアプリケーション セッションに保存します。したがって、私のアプローチでは UserService を使用していません。
このアプローチでは、次のコードを試してみると、ログインしたユーザーの詳細が提供されません。
UserService userService=UserServiceFactory.gerUserService();
User user=userService.getCurrentUser();
上記のコードでは、ユーザーが openid 接続を介してアプリケーションにログインした後でも、ユーザーを null として取得します。
したがって、問題は、ユーザーをログアウトできず、Google からログアウトした後でもユーザーがアプリケーションからログアウトされないことです。ユーザーがブラウザーを閉じるまで、ユーザーの電子メールはアプリケーション セッションで使用できます。