mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
ACS-4888 Use Keycloak free tas-utility (#1827)
This commit is contained in:
@@ -4,8 +4,6 @@ import org.alfresco.utility.data.AisToken;
|
|||||||
import org.alfresco.utility.data.auth.DataAIS;
|
import org.alfresco.utility.data.auth.DataAIS;
|
||||||
import org.alfresco.utility.model.UserModel;
|
import org.alfresco.utility.model.UserModel;
|
||||||
import org.apache.chemistry.opencmis.commons.SessionParameter;
|
import org.apache.chemistry.opencmis.commons.SessionParameter;
|
||||||
import org.keycloak.authorization.client.util.HttpResponseException;
|
|
||||||
import org.keycloak.representations.AccessTokenResponse;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -86,9 +84,9 @@ public class AuthParameterProviderFactory
|
|||||||
parameters.put(SessionParameter.OAUTH_REFRESH_TOKEN, aisToken.getRefreshToken());
|
parameters.put(SessionParameter.OAUTH_REFRESH_TOKEN, aisToken.getRefreshToken());
|
||||||
parameters.put(SessionParameter.OAUTH_EXPIRATION_TIMESTAMP, String.valueOf(System.currentTimeMillis()
|
parameters.put(SessionParameter.OAUTH_EXPIRATION_TIMESTAMP, String.valueOf(System.currentTimeMillis()
|
||||||
+ (aisToken.getExpiresIn() * 1000))); // getExpiresIn is in seconds
|
+ (aisToken.getExpiresIn() * 1000))); // getExpiresIn is in seconds
|
||||||
parameters.put(SessionParameter.OAUTH_TOKEN_ENDPOINT, cmisProperties.aisProperty().getAdapterConfig().getAuthServerUrl()
|
parameters.put(SessionParameter.OAUTH_TOKEN_ENDPOINT, cmisProperties.aisProperty().getAuthServerUrl()
|
||||||
+ "/realms/alfresco/protocol/openid-connect/token");
|
+ "/realms/alfresco/protocol/openid-connect/token");
|
||||||
parameters.put(SessionParameter.OAUTH_CLIENT_ID, cmisProperties.aisProperty().getAdapterConfig().getResource());
|
parameters.put(SessionParameter.OAUTH_CLIENT_ID, cmisProperties.aisProperty().getResource());
|
||||||
return parameters;
|
return parameters;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,10 +108,10 @@ public class AuthParameterProviderFactory
|
|||||||
// Attempt to get an access token for userModel from AIS
|
// Attempt to get an access token for userModel from AIS
|
||||||
aisToken = dataAIS.perform().getAccessToken(userModel);
|
aisToken = dataAIS.perform().getAccessToken(userModel);
|
||||||
}
|
}
|
||||||
catch (HttpResponseException e)
|
catch (AssertionError e)
|
||||||
{
|
{
|
||||||
// Trying to authenticate with invalid user credentials so return an invalid access token
|
// Trying to authenticate with invalid user credentials so return an invalid access token
|
||||||
if (e.getStatusCode() == 401)
|
if (e.getMessage().contains("invalid_grant"))
|
||||||
{
|
{
|
||||||
STEP(String.format("%s Invalid user credentials were provided %s:%s. Using invalid token for reqest.",
|
STEP(String.format("%s Invalid user credentials were provided %s:%s. Using invalid token for reqest.",
|
||||||
STEP_PREFIX, userModel.getUsername(), userModel.getPassword()));
|
STEP_PREFIX, userModel.getUsername(), userModel.getPassword()));
|
||||||
|
@@ -30,7 +30,6 @@ import static org.alfresco.utility.report.log.Step.STEP;
|
|||||||
import org.alfresco.utility.data.AisToken;
|
import org.alfresco.utility.data.AisToken;
|
||||||
import org.alfresco.utility.data.auth.DataAIS;
|
import org.alfresco.utility.data.auth.DataAIS;
|
||||||
import org.alfresco.utility.model.UserModel;
|
import org.alfresco.utility.model.UserModel;
|
||||||
import org.keycloak.authorization.client.util.HttpResponseException;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -86,12 +85,11 @@ public class RestAisAuthentication
|
|||||||
// Attempt to get an access token for userModel from AIS
|
// Attempt to get an access token for userModel from AIS
|
||||||
aisToken = dataAIS.perform().getAccessToken(userModel);
|
aisToken = dataAIS.perform().getAccessToken(userModel);
|
||||||
}
|
}
|
||||||
catch (HttpResponseException e)
|
catch (AssertionError e)
|
||||||
{
|
{
|
||||||
// Trying to authenticate with invalid user credentials or disabled
|
// Trying to authenticate with invalid user credentials or disabled
|
||||||
// user so return an invalid access token
|
// user so return an invalid access token
|
||||||
String httpResponse = new String(e.getBytes());
|
if (e.getMessage().contains("invalid_grant"))
|
||||||
if (e.getStatusCode() == 401 || httpResponse.contains(USER_DISABLED_MSG))
|
|
||||||
{
|
{
|
||||||
STEP(String.format("%s User disabled or invalid user credentials were provided %s:%s. Using invalid token for request.", STEP_PREFIX,
|
STEP(String.format("%s User disabled or invalid user credentials were provided %s:%s. Using invalid token for request.", STEP_PREFIX,
|
||||||
userModel.getUsername(), userModel.getPassword()));
|
userModel.getUsername(), userModel.getPassword()));
|
||||||
|
2
pom.xml
2
pom.xml
@@ -123,7 +123,7 @@
|
|||||||
<dependency.mysql.version>8.0.30</dependency.mysql.version>
|
<dependency.mysql.version>8.0.30</dependency.mysql.version>
|
||||||
<dependency.mysql-image.version>8</dependency.mysql-image.version>
|
<dependency.mysql-image.version>8</dependency.mysql-image.version>
|
||||||
<dependency.mariadb.version>2.7.4</dependency.mariadb.version>
|
<dependency.mariadb.version>2.7.4</dependency.mariadb.version>
|
||||||
<dependency.tas-utility.version>3.0.61</dependency.tas-utility.version>
|
<dependency.tas-utility.version>4.0.0</dependency.tas-utility.version>
|
||||||
<dependency.rest-assured.version>5.2.0</dependency.rest-assured.version>
|
<dependency.rest-assured.version>5.2.0</dependency.rest-assured.version>
|
||||||
<dependency.tas-email.version>1.11</dependency.tas-email.version>
|
<dependency.tas-email.version>1.11</dependency.tas-email.version>
|
||||||
<dependency.tas-webdav.version>1.7</dependency.tas-webdav.version>
|
<dependency.tas-webdav.version>1.7</dependency.tas-webdav.version>
|
||||||
|
Reference in New Issue
Block a user