com.github.scribejava.apis.google.GoogleJsonTokenExtractor Maven / Gradle / Ivy
package com.github.scribejava.apis.google;
import com.github.scribejava.core.extractors.OAuth2AccessTokenJsonExtractor;
import com.github.scribejava.core.model.OAuth2AccessToken;
/**
* additionally parses OpenID id_token
*/
public class GoogleJsonTokenExtractor extends OAuth2AccessTokenJsonExtractor {
private static final String ID_TOKEN_REGEX = "\"id_token\"\\s*:\\s*\"(\\S*?)\"";
protected GoogleJsonTokenExtractor() {
}
private static class InstanceHolder {
private static final GoogleJsonTokenExtractor INSTANCE = new GoogleJsonTokenExtractor();
}
public static GoogleJsonTokenExtractor instance() {
return InstanceHolder.INSTANCE;
}
@Override
protected OAuth2AccessToken createToken(String accessToken, String tokenType, Integer expiresIn,
String refreshToken, String scope, String response) {
return new GoogleToken(accessToken, tokenType, expiresIn, refreshToken, scope,
extractParameter(response, ID_TOKEN_REGEX, false), response);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy