bug5197: SetAccessTokenOperation

This commit is contained in:
Tim Hessenmüller committed 2020-03-19 14:03:26 +01:00
1 parent 55efdc37c9
commit 6d8b531ab2
2 files changed
+24 -1

No files matched your search

@@ -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;
}
@@ -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<ReplicableSecurityService, Void> {
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;
}
}