From 6d8b531ab21ac44b7ff3dcfafb2cfde0ea74ecaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20Hessenm=C3=BCller?= Date: Thu, 19 Mar 2020 14:03:26 +0100 Subject: [PATCH] bug5197: SetAccessTokenOperation --- .../security/impl/SecurityServiceImpl.java | 3 ++- .../operations/SetAccessTokenOperation.java | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 java/com.sap.sse.security/src/com/sap/sse/security/operations/SetAccessTokenOperation.java diff --git a/java/com.sap.sse.security/src/com/sap/sse/security/impl/SecurityServiceImpl.java b/java/com.sap.sse.security/src/com/sap/sse/security/impl/SecurityServiceImpl.java index 8c73181c610..309afe7909f 100644 --- a/java/com.sap.sse.security/src/com/sap/sse/security/impl/SecurityServiceImpl.java +++ b/java/com.sap.sse.security/src/com/sap/sse/security/impl/SecurityServiceImpl.java @@ -125,6 +125,7 @@ import com.sap.sse.security.operations.RemoveRoleDefinitionFromUserGroupOperatio import com.sap.sse.security.operations.RemoveRoleFromUserOperation; import com.sap.sse.security.operations.RemoveUserFromUserGroupOperation; import com.sap.sse.security.operations.ResetPasswordOperation; +import com.sap.sse.security.operations.SetAccessTokenOperation; import com.sap.sse.security.operations.SetDefaultTenantForServerForUserOperation; import com.sap.sse.security.operations.SetEmptyAccessControlListOperation; import com.sap.sse.security.operations.SetOwnershipOperation; @@ -1671,7 +1672,7 @@ public class SecurityServiceImpl implements ReplicableSecurityService, ClearStat RandomNumberGenerator rng = new SecureRandomNumberGenerator(); byte[] salt = rng.nextBytes().getBytes(); token = hashPassword(new String(rng.nextBytes().getBytes()), salt); - apply(s -> s.internalSetAccessToken(user.getName(), token)); + apply(new SetAccessTokenOperation(user.getName(), token)); } else { token = null; } diff --git a/java/com.sap.sse.security/src/com/sap/sse/security/operations/SetAccessTokenOperation.java b/java/com.sap.sse.security/src/com/sap/sse/security/operations/SetAccessTokenOperation.java new file mode 100644 index 00000000000..552df9ed043 --- /dev/null +++ b/java/com.sap.sse.security/src/com/sap/sse/security/operations/SetAccessTokenOperation.java @@ -0,0 +1,22 @@ +package com.sap.sse.security.operations; + +import com.sap.sse.replication.OperationWithResult; +import com.sap.sse.security.impl.ReplicableSecurityService; + +public class SetAccessTokenOperation implements OperationWithResult { + private static final long serialVersionUID = 1L; + + protected final String username; + protected final String accessToken; + + public SetAccessTokenOperation(String username, String accessToken) { + this.username = username; + this.accessToken = accessToken; + } + + @Override + public Void internalApplyTo(ReplicableSecurityService toState) throws Exception { + toState.internalSetAccessToken(username, accessToken); + return null; + } +}