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 ClassesModifier and TypeClassDescriptionstatic 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, kUserIdFields inherited from interface io.continual.iam.access.AccessDb
kCreateOperation, kDeleteOperation, kReadOperation, kWriteOperation -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()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 voidprotected voidprotected voidprotected voidprotected voiddeleteTagObject(String id, String userId, String appTagType) protected voidprotected 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.JSONObjectprotected org.json.JSONObjectprotected Collection<String> loadApiKeysForUser(String userId) protected org.json.JSONObjectprotected 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) voidMethods inherited from class io.continual.iam.impl.common.CommonJsonDb
addAlias, addJwtValidator, addUserToGroup, aliasExists, authenticate, authenticate, authenticate, canUser, checkPassword, 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, userOrAliasExistsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.continual.iam.identity.IdentityDb
createJwtToken
-
Constructor Details
-
ZkIamDb
- Throws:
IamSvcException
-
-
Method Details
-
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
- Throws:
IamSvcException
-
close
public void close() -
loadAllUsers
- Throws:
IamSvcException
-
getAllUsers
- Throws:
IamSvcException
-
getAllGroups
- Throws:
IamSvcException
-
findUsers
- Throws:
IamSvcException
-
sweepExpiredTags
- Throws:
IamSvcException
-
createNewUser
- Specified by:
createNewUserin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>
-
loadUserObject
- Specified by:
loadUserObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> - Throws:
IamSvcException
-
storeUserObject
- Specified by:
storeUserObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> - Throws:
IamSvcException
-
deleteUserObject
- Specified by:
deleteUserObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> - Throws:
IamSvcException
-
createNewGroup
- Specified by:
createNewGroupin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>
-
loadGroupObject
- Specified by:
loadGroupObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> - Throws:
IamSvcException
-
storeGroupObject
- Specified by:
storeGroupObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> - Throws:
IamSvcException
-
deleteGroupObject
- Specified by:
deleteGroupObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> - Throws:
IamSvcException
-
createApiKeyObject
- Specified by:
createApiKeyObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup>
-
loadApiKeyObject
- 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
- Specified by:
deleteApiKeyObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> - Throws:
IamSvcException
-
instantiateApiKey
- 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
- Specified by:
loadAclObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> - Throws:
IamSvcException
-
storeAclObject
- Specified by:
storeAclObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> - Throws:
IamSvcException
-
deleteAclObject
- Specified by:
deleteAclObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> - Throws:
IamSvcException
-
loadTagObject
- 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
- Specified by:
deleteTagObjectin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> - Throws:
IamSvcException
-
loadAliasObject
- 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
- 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
- Specified by:
storeInvalidJwtTokenin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> - Throws:
IamSvcException
-
isInvalidJwtToken
- Specified by:
isInvalidJwtTokenin classCommonJsonDb<I extends CommonJsonIdentity,G extends CommonJsonGroup> - Throws:
IamSvcException
-