package com.github.scribejava.apis.google; import com.github.scribejava.core.model.OAuth2AccessToken; import java.util.Objects; public class GoogleToken extends OAuth2AccessToken { private static final long serialVersionUID = 7845679917727899612L; /** * Id_token is part of OpenID Connect specification. It can hold user information that you can directly extract * without additional request to provider. * * See http://openid.net/specs/openid-connect-core-1_0.html#id_token-tokenExample and * https://bitbucket.org/nimbusds/nimbus-jose-jwt/wiki/Home * * Here will be encoded and signed id token in JWT format or null, if not defined. */ private final String openIdToken; public GoogleToken(String accessToken, String openIdToken, String rawResponse) { this(accessToken, null, null, null, null, openIdToken, rawResponse); } public GoogleToken(String accessToken, String tokenType, Integer expiresIn, String refreshToken, String scope, String openIdToken, String rawResponse) { super(accessToken, tokenType, expiresIn, refreshToken, scope, rawResponse); this.openIdToken = openIdToken; } public String getOpenIdToken() { return openIdToken; } @Override public int hashCode() { int hash = super.hashCode(); hash = 37 * hash + Objects.hashCode(openIdToken); return hash; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } if (!super.equals(obj)) { return false; } return Objects.equals(openIdToken, ((GoogleToken) obj).getOpenIdToken()); } @Override public String toString() { return "GoogleToken{" + "access_token=" + getAccessToken() + ", token_type=" + getTokenType() + ", expires_in=" + getExpiresIn() + ", refresh_token=" + getRefreshToken() + ", scope=" + getScope() + ", open_id_token=" + openIdToken + '}'; } }