mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
fix/MNT-24542 class cast exception (#3092)
* [MNT-24542] fix class cast exception * pre-commit-issue * removed else part * address review comments * fix-conflict
This commit is contained in:
@@ -38,12 +38,13 @@ import java.util.Map;
|
|||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
|
import com.nimbusds.oauth2.sdk.ErrorObject;
|
||||||
import com.nimbusds.oauth2.sdk.ParseException;
|
import com.nimbusds.oauth2.sdk.ParseException;
|
||||||
import com.nimbusds.oauth2.sdk.token.BearerAccessToken;
|
import com.nimbusds.oauth2.sdk.token.BearerAccessToken;
|
||||||
|
import com.nimbusds.openid.connect.sdk.UserInfoErrorResponse;
|
||||||
import com.nimbusds.openid.connect.sdk.UserInfoRequest;
|
import com.nimbusds.openid.connect.sdk.UserInfoRequest;
|
||||||
import com.nimbusds.openid.connect.sdk.UserInfoResponse;
|
import com.nimbusds.openid.connect.sdk.UserInfoResponse;
|
||||||
import com.nimbusds.openid.connect.sdk.UserInfoSuccessResponse;
|
import com.nimbusds.openid.connect.sdk.UserInfoSuccessResponse;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.springframework.core.convert.converter.Converter;
|
import org.springframework.core.convert.converter.Converter;
|
||||||
@@ -143,7 +144,17 @@ class SpringBasedIdentityServiceFacade implements IdentityServiceFacade
|
|||||||
.flatMap(httpResponse -> {
|
.flatMap(httpResponse -> {
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return Optional.of(UserInfoResponse.parse(httpResponse));
|
UserInfoResponse userInfoResponse = UserInfoResponse.parse(httpResponse);
|
||||||
|
|
||||||
|
if (userInfoResponse instanceof UserInfoErrorResponse userInfoErrorResponse)
|
||||||
|
{
|
||||||
|
String errorMessage = Optional.ofNullable(userInfoErrorResponse.getErrorObject())
|
||||||
|
.map(ErrorObject::getDescription)
|
||||||
|
.orElse("No error description found");
|
||||||
|
LOGGER.warn("User Info Request failed: " + errorMessage);
|
||||||
|
throw new UserInfoException(errorMessage);
|
||||||
|
}
|
||||||
|
return Optional.of(userInfoResponse);
|
||||||
}
|
}
|
||||||
catch (ParseException e)
|
catch (ParseException e)
|
||||||
{
|
{
|
||||||
@@ -213,8 +224,7 @@ class SpringBasedIdentityServiceFacade implements IdentityServiceFacade
|
|||||||
.build(),
|
.build(),
|
||||||
OAuth2AuthorizationResponse.success(grant.getAuthorizationCode())
|
OAuth2AuthorizationResponse.success(grant.getAuthorizationCode())
|
||||||
.redirectUri(grant.getRedirectUri())
|
.redirectUri(grant.getRedirectUri())
|
||||||
.build()
|
.build());
|
||||||
);
|
|
||||||
return new OAuth2AuthorizationCodeGrantRequest(clientRegistration, authzExchange);
|
return new OAuth2AuthorizationCodeGrantRequest(clientRegistration, authzExchange);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user