Package io.continual.iam.impl.zk
Class ZkIamDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>
- java.lang.Object
-
- io.continual.iam.impl.common.CommonJsonDb<I,G>
-
- io.continual.iam.impl.zk.ZkIamDb<I,G>
-
- All Implemented Interfaces:
AccessDb<G>,AccessManager<G>,AclUpdateListener,IamDb<I,G>,IdentityDb<I>,IdentityManager<I>,TagManager,io.continual.metrics.MetricsSupplier,Closeable,AutoCloseable
- Direct Known Subclasses:
StdZkIamDb
public abstract class ZkIamDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> extends CommonJsonDb<I,G>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classZkIamDb.Builder<I extends CommonJsonIdentity,G extends CommonJsonGroup>-
Nested classes/interfaces inherited from class io.continual.iam.impl.common.CommonJsonDb
CommonJsonDb.AclFactory
-
-
Field Summary
-
Fields inherited from class io.continual.iam.impl.common.CommonJsonDb
kAlias, kCreateTsMs, kEnabled, kExpireEpoch, kPasswordBlock, kPasswordHash, kPasswordSalt, kSecret, kTagId, kTagType, kTagType_PasswordReset, kUserId
-
Fields inherited from interface io.continual.iam.access.AccessDb
kCreateOperation, kDeleteOperation, kReadOperation, kWriteOperation
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedZkIamDb(ZkIamDb.Builder<I,G> b)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()protected org.json.JSONObjectcreateApiKeyObject(String userId, String apiKey, String apiSecret)protected org.json.JSONObjectcreateNewGroup(String id, String groupDesc)protected org.json.JSONObjectcreateNewUser(String id)protected voiddeleteAclObject(String id)protected voiddeleteAliasObject(String id)protected voiddeleteApiKeyObject(String id)protected voiddeleteGroupObject(String id)protected voiddeleteTagObject(String id, String userId, String appTagType)protected voiddeleteUserObject(String id)List<String>findUsers(String startingWith)Collection<String>getAllGroups()Collection<String>getAllUsers()protected ApiKeyinstantiateApiKey(String id, org.json.JSONObject data)protected booleanisInvalidJwtToken(String token)protected org.json.JSONObjectloadAclObject(String id)protected Collection<String>loadAliasesForUser(String userId)protected org.json.JSONObjectloadAliasObject(String id)Map<String,I>loadAllUsers()protected org.json.JSONObjectloadApiKeyObject(String id)protected Collection<String>loadApiKeysForUser(String userId)protected org.json.JSONObjectloadGroupObject(String id)protected org.json.JSONObjectloadTagObject(String id, boolean expiredOk)protected org.json.JSONObjectloadTagObject(String userId, String appTagType, boolean expiredOk)protected org.json.JSONObjectloadUserObject(String id)static <I extends CommonJsonIdentity,G extends CommonJsonGroup>
voidpopulateBuilderFrom(ZkIamDb.Builder<I,G> b, io.continual.services.ServiceContainer sc, org.json.JSONObject config)voidstart()protected voidstoreAclObject(String id, org.json.JSONObject data)protected voidstoreAliasObject(String id, org.json.JSONObject aliasObject)protected voidstoreApiKeyObject(String id, org.json.JSONObject apiKeyObject)protected voidstoreGroupObject(String id, org.json.JSONObject data)protected voidstoreInvalidJwtToken(String token)protected voidstoreTagObject(String id, String userId, String appTagType, org.json.JSONObject data)protected voidstoreUserObject(String id, org.json.JSONObject data)voidsweepExpiredTags()-
Methods inherited from class io.continual.iam.impl.common.CommonJsonDb
addAlias, addJwtValidator, addUserToGroup, aliasExists, authenticate, authenticate, authenticate, canUser, completePasswordReset, createAnonymousUser, createApiKey, createGroup, createGroup, createJwtToken, createTag, createUser, deleteUser, generateKey, getAclFor, getAliasesFor, getAppNonce, getUserIdForTag, getUsersGroups, getUsersInGroup, instantiateGroup, instantiateIdentity, invalidateJwtToken, loadApiKeyRecord, loadGroup, loadUser, loadUserOrAlias, onAclUpdate, populateMetrics, removeAlias, removeMatchingTag, removeUserFromGroup, restoreApiKey, userExists, userOrAliasExists
-
-
-
-
Constructor Detail
-
ZkIamDb
protected ZkIamDb(ZkIamDb.Builder<I,G> b) throws IamSvcException
- Throws:
IamSvcException
-
-
Method Detail
-
populateBuilderFrom
public static <I extends CommonJsonIdentity,G extends CommonJsonGroup> void populateBuilderFrom(ZkIamDb.Builder<I,G> b, io.continual.services.ServiceContainer sc, org.json.JSONObject config) throws io.continual.builder.Builder.BuildFailure
- Throws:
io.continual.builder.Builder.BuildFailure
-
start
public void start() throws IamSvcException- Throws:
IamSvcException
-
close
public void close()
-
loadAllUsers
public Map<String,I> loadAllUsers() throws IamSvcException
- Throws:
IamSvcException
-
getAllUsers
public Collection<String> getAllUsers() throws IamSvcException
- Throws:
IamSvcException
-
getAllGroups
public Collection<String> getAllGroups() throws IamSvcException
- Throws:
IamSvcException
-
findUsers
public List<String> findUsers(String startingWith) throws IamSvcException
- Throws:
IamSvcException
-
sweepExpiredTags
public void sweepExpiredTags() throws IamSvcException- Throws:
IamSvcException
-
createNewUser
protected org.json.JSONObject createNewUser(String id)
- Specified by:
createNewUserin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>
-
loadUserObject
protected org.json.JSONObject loadUserObject(String id) throws IamSvcException
- Specified by:
loadUserObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
storeUserObject
protected void storeUserObject(String id, org.json.JSONObject data) throws IamSvcException
- Specified by:
storeUserObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
deleteUserObject
protected void deleteUserObject(String id) throws IamSvcException
- Specified by:
deleteUserObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
createNewGroup
protected org.json.JSONObject createNewGroup(String id, String groupDesc)
- Specified by:
createNewGroupin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>
-
loadGroupObject
protected org.json.JSONObject loadGroupObject(String id) throws IamSvcException
- Specified by:
loadGroupObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
storeGroupObject
protected void storeGroupObject(String id, org.json.JSONObject data) throws IamSvcException
- Specified by:
storeGroupObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
deleteGroupObject
protected void deleteGroupObject(String id) throws IamSvcException
- Specified by:
deleteGroupObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
createApiKeyObject
protected org.json.JSONObject createApiKeyObject(String userId, String apiKey, String apiSecret)
- Specified by:
createApiKeyObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>
-
loadApiKeyObject
protected org.json.JSONObject loadApiKeyObject(String id) throws IamSvcException
- Specified by:
loadApiKeyObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
storeApiKeyObject
protected void storeApiKeyObject(String id, org.json.JSONObject apiKeyObject) throws IamSvcException, IamBadRequestException
- Specified by:
storeApiKeyObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcExceptionIamBadRequestException
-
deleteApiKeyObject
protected void deleteApiKeyObject(String id) throws IamSvcException
- Specified by:
deleteApiKeyObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
instantiateApiKey
protected ApiKey instantiateApiKey(String id, org.json.JSONObject data)
- Specified by:
instantiateApiKeyin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>
-
loadApiKeysForUser
protected Collection<String> loadApiKeysForUser(String userId) throws IamSvcException, IamIdentityDoesNotExist
- Specified by:
loadApiKeysForUserin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcExceptionIamIdentityDoesNotExist
-
loadAclObject
protected org.json.JSONObject loadAclObject(String id) throws IamSvcException
- Specified by:
loadAclObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
storeAclObject
protected void storeAclObject(String id, org.json.JSONObject data) throws IamSvcException
- Specified by:
storeAclObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
deleteAclObject
protected void deleteAclObject(String id) throws IamSvcException
- Specified by:
deleteAclObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
loadTagObject
protected org.json.JSONObject loadTagObject(String id, boolean expiredOk) throws IamSvcException
- Specified by:
loadTagObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
loadTagObject
protected org.json.JSONObject loadTagObject(String userId, String appTagType, boolean expiredOk) throws IamSvcException
- Specified by:
loadTagObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
storeTagObject
protected void storeTagObject(String id, String userId, String appTagType, org.json.JSONObject data) throws IamSvcException
- Specified by:
storeTagObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
deleteTagObject
protected void deleteTagObject(String id, String userId, String appTagType) throws IamSvcException
- Specified by:
deleteTagObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
loadAliasObject
protected org.json.JSONObject loadAliasObject(String id) throws IamSvcException
- Specified by:
loadAliasObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
storeAliasObject
protected void storeAliasObject(String id, org.json.JSONObject aliasObject) throws IamSvcException, IamBadRequestException
- Specified by:
storeAliasObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcExceptionIamBadRequestException
-
deleteAliasObject
protected void deleteAliasObject(String id) throws IamSvcException
- Specified by:
deleteAliasObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
loadAliasesForUser
protected Collection<String> loadAliasesForUser(String userId) throws IamSvcException, IamIdentityDoesNotExist
- Specified by:
loadAliasesForUserin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcExceptionIamIdentityDoesNotExist
-
storeInvalidJwtToken
protected void storeInvalidJwtToken(String token) throws IamSvcException
- Specified by:
storeInvalidJwtTokenin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
isInvalidJwtToken
protected boolean isInvalidJwtToken(String token) throws IamSvcException
- Specified by:
isInvalidJwtTokenin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>- Throws:
IamSvcException
-
-