diff --git a/grails-app/services/grails/plugin/springsecurity/oauth2/google/GoogleOAuth2Service.groovy b/grails-app/services/grails/plugin/springsecurity/oauth2/google/GoogleOAuth2Service.groovy index 259bea6..45cc463 100644 --- a/grails-app/services/grails/plugin/springsecurity/oauth2/google/GoogleOAuth2Service.groovy +++ b/grails-app/services/grails/plugin/springsecurity/oauth2/google/GoogleOAuth2Service.groovy @@ -52,7 +52,7 @@ class GoogleOAuth2Service extends OAuth2AbstractProviderService { log.error("No user email from " + getProviderID() + ". Response was:\n" + response.body) throw new OAuth2Exception("No user id from " + getProviderID()) } - new GoogleOauth2SpringToken(accessToken, user?.email, providerID) + new GoogleOauth2SpringToken(accessToken, user, providerID) } } diff --git a/src/main/groovy/grails/plugin/springsecurity/oauth2/google/GoogleOauth2SpringToken.groovy b/src/main/groovy/grails/plugin/springsecurity/oauth2/google/GoogleOauth2SpringToken.groovy index 3d4aadb..0982103 100644 --- a/src/main/groovy/grails/plugin/springsecurity/oauth2/google/GoogleOauth2SpringToken.groovy +++ b/src/main/groovy/grails/plugin/springsecurity/oauth2/google/GoogleOauth2SpringToken.groovy @@ -15,11 +15,18 @@ import grails.plugin.springsecurity.oauth2.token.OAuth2SpringToken class GoogleOauth2SpringToken extends OAuth2SpringToken{ private String email + private String givenName + private String familyName + private URL pictureURL private String providerId - GoogleOauth2SpringToken(OAuth2AccessToken accessToken, String email, String providerId) { + GoogleOauth2SpringToken(OAuth2AccessToken accessToken, Map props, String providerId) { super(accessToken) - this.email = email + this.email = props.email + this.givenName = props.given_name + this.familyName = props.family_name + if (props.picture) + this.pictureURL = new URL(props.picture) this.providerId = providerId } @@ -37,4 +44,16 @@ class GoogleOauth2SpringToken extends OAuth2SpringToken{ String getScreenName() { return email } + + String getGivenName() { + return givenName + } + + String getFamilyName() { + return familyName + } + + URL getPictureURL() { + return pictureURL + } }