LiveLikeRBACClient
LiveLikeRBACClient is an interface that manages user roles and permissions.
Working with LiveLikeRBACClient
- Roles are assigned to profiles and permission checks are performed against the authenticated profile's roles when they are performing some action. A profile can be assigned more than one role.
- Permissions represent an action a user can perform, like posting a comment or deleting a board. Permissions are granted to roles, and in effect a role is a named set of permissions. Once a role is assigned to a profile, that profile has all of that role's permissions.
- Scopes control which resources the role assignment is effective in. A role assignment is valid for one or more scopes.
- Resources are the entities that profiles act upon. Resources are things like Applications, Programs, Comment Boards, Chat Rooms, Chat Room Messages, and so on.
Create a Role assignment
private var rbac: LiveLikeRBACClient
rbac.createRoleAssignment(
AssignRoleRequestOptions(profileId = "<profile-id>", roleKey = "<role-key>",
resourceKind = "<resource-kind>",
resourceKey = "<resource-key>")){ result, error ->
error?.let {
//error
}
result?.let {assignedRoles ->
//assigned role
}
}
Delete a Role assignment
private var rbac: LiveLikeRBACClient
rbac.deleteRoleAssignment(UnAssignRoleRequestOptions("<assigned-role-id>")){result, error->
//empty response
}
List assigned roles
private var rbac: LiveLikeRBACClient
rbac.getAssignedRoles(
ListAssignedRoleRequestOptions(profileId = "<profile-id>"),
LiveLikePagination.FIRST
){ result, error ->
error?.let {
//error
}
result?.let {assignedRoles ->
//assigned roles list
}
}
List Permissions
private var rbac: LiveLikeRBACClient
rbac.getPermissions(LiveLikePagination.FIRST){result, error->
result?.let{
//list of permissions
}
error?.let{
//errors
}
}
List Roles
private var rbac: LiveLikeRBACClient
rbac.getRoles(LiveLikePagination.FIRST){result, error->
result?.let{
//list of roles
}
error?.let{
//errors
}
}
List Resources
private var rbac: LiveLikeRBACClient
rbac.getResources(LiveLikePagination.FIRST){result, error->
result?.let{
//list of roles
}
error?.let{
//errors
}
}
List Scopes
private var rbac: LiveLikeRBACClient
rbac.getScopes(ListScopesRequest(resourceId = "<resource-id>"),
LiveLikePagination.FIRST){ result, error->
result?.let{
//
}
error?.let{
}
}
Updated about 2 months ago