Removed old deprecated LinkedIn provider and added the new

This commit is contained in:
Mauro Mugnaini 2024-03-28 17:16:24 +01:00
parent cd7608a0ac
commit 07d9d9a927
Signed by: mauro.mugnaini
GPG Key ID: 2440CFD0EB321EA8
1 changed files with 11 additions and 3 deletions

View File

@ -35,7 +35,7 @@ import org.keycloak.provider.ProviderConfigProperty;
import org.keycloak.provider.ProviderConfigurationBuilder;
import org.keycloak.social.facebook.FacebookIdentityProviderFactory;
import org.keycloak.social.google.GoogleIdentityProviderFactory;
import org.keycloak.social.linkedin.LinkedInIdentityProviderFactory;
import org.keycloak.social.linkedin.LinkedInOIDCIdentityProviderFactory;
/**
* @author <a href="mailto:mauro.mugnaini@nubisware.com">Mauro Mugnaini</a>
@ -62,7 +62,7 @@ public class AvatarImporter extends AbstractClaimMapper {
public static final String[] PROVIDERS_WITH_SPECIFIC_CODE = {
FacebookIdentityProviderFactory.PROVIDER_ID,
LinkedInIdentityProviderFactory.PROVIDER_ID
LinkedInOIDCIdentityProviderFactory.PROVIDER_ID
};
public static final String[] COMPATIBLE_PROVIDERS = (String[]) ArrayUtils.addAll(PROVIDERS_WITH_PICTURE_CLAIM,
@ -169,7 +169,7 @@ public class AvatarImporter extends AbstractClaimMapper {
logger.info("Cannot load avatar image from claim: " + imageClaim, e);
}
}
} else if (LinkedInIdentityProviderFactory.PROVIDER_ID.equals(identityProviderAlias)) {
} else if (LinkedInOIDCIdentityProviderFactory.PROVIDER_ID.equals(identityProviderAlias)) {
avatarInputStream = loadAvatarFromLinkedIn(context);
} else if (FacebookIdentityProviderFactory.PROVIDER_ID.equals(identityProviderAlias)) {
avatarInputStream = loadAvatarFromFacebook(context);
@ -217,6 +217,14 @@ public class AvatarImporter extends AbstractClaimMapper {
"https://api.linkedin.com/v2/me?projection=(profilePicture(displayImage~:playableStreams))&oauth2_access_token="
+ getAccessTokenString(context)).openStream())));
// If the token cannot be passed anymore via parameter, try use this
// URLConnection urlConnection = new URL(
// "https://api.linkedin.com/v2/me?projection=(profilePicture(displayImage~:playableStreams))")
// .openConnection();
// urlConnection.addRequestProperty("Authorization ", "Bearer " + getAccessTokenString(context));
// JSONObject displayImageProjection = (JSONObject) new JSONParser()
// .parse(new InputStreamReader(urlConnection.getInputStream()));
String imageURL = null;
@SuppressWarnings("unchecked")