0

openid 2.0はGoogleによって廃止されたため、アプリケーションでユーザーを認証するためにGoolge openid connectを使用しています。

Google openid 接続要求を行うと、ユーザーの詳細を取得するアクセス トークンを取得し、ユーザーのメールをアプリケーション セッションに保存します。したがって、私のアプローチでは UserService を使用していません。

このアプローチでは、次のコードを試してみると、ログインしたユーザーの詳細が提供されません。

UserService userService=UserServiceFactory.gerUserService();
User user=userService.getCurrentUser();

上記のコードでは、ユーザーが openid 接続を介してアプリケーションにログインした後でも、ユーザーを null として取得します。

したがって、問題は、ユーザーをログアウトできず、Google からログアウトした後でもユーザーがアプリケーションからログアウトされないことです。ユーザーがブラウザーを閉じるまで、ユーザーの電子メールはアプリケーション セッションで使用できます。

4

1 に答える 1

1

ページがログインするように設定されていることを確認する必要があります: app.yaml で必要です。それ以外の場合は、ユーザーがページに電子メール以外の情報を表示する許可を明示的に与えていないため、NULL を送信しているようです。

于 2014-08-01T12:48:10.087 に答える