Somehow I ended up with an expired Google+ access_token in my session, and was unable to login due to "The OAuth 2.0 access token has expired, and a refresh token is not available. Refresh tokens are not returned for responses that were auto-approved." I think google-plus/callback.php has a mistake in that it always prefers the stored access token over the token that is being received from Google.