Team-Based Authorization in faynoSync โ Manage Your Team Like a Pro
Managing a team of developers? Need to control who can do what in your faynoSync instance? Starting from version 1.4.0, faynoSync introduces a powerful Team Based Authorization Matrix that gives you complete control over your team's access and permissions.
What is Team-Based Authorization? ๐คโ
Think of it as your team's digital headquarters! The Team Based Authorization Matrix is a sophisticated system that lets you:
- ๐จโ๐ผ Create and manage team users
- ๐ Assign specific permissions
- ๐ข Keep data isolated between different teams
- ๐ Track who can do what
Meet the Players ๐ญโ
The Administrator ๐โ
- You're the boss! Each admin is unique
- You own your team of users
- You can create, update, and delete your team members
- You have full control over passwords and permissions
- You can only access your own team's resources
The Team User ๐คโ
- A unique member of your team
- Belongs only to you (their admin)
- Can't manage other users
- Can only work with resources you've allowed
- Everything they create belongs to you
What Can Your Team Do? ๐ ๏ธโ
Each team member can have different permissions for different types of resources:
Resource Types:โ
- ๐ฑ Applications
- ๐ Channels
- ๐ป Platforms
- ๐๏ธ Architectures
Available Permissions:โ
- โ Create
- โ๏ธ Edit
- ๐๏ธ Delete
- โฌ๏ธ Upload (for apps)
- โฌ๏ธ Download (for apps)
Smart Resource Management ๐ง โ
- ๐ Team users can only see and use resources they've been given access to
- ๐ข Each admin's resources are completely separate
- ๐ You (as admin) can see everything your team creates
- ๐ Different teams can have resources with the same names
How to Manage Your Team? ๐ฏโ
Option 1: Using the APIโ
Creating a Team Userโ
curl -X POST 'http://localhost:9000/user/create' \
-H 'Authorization: Bearer <jwt_token>' \
-H 'Content-Type: application/json' \
-d '{
"username": "teamuser1",
"password": "password123",
"permissions": {
"apps": {
"create": true,
"delete": false,
"edit": true,
"download": true,
"upload": false
}
// ... other permissions
}
}'
Updating Permissionsโ
curl -X POST 'http://localhost:9000/user/update' \
-H 'Authorization: Bearer <jwt_token>' \
-H 'Content-Type: application/json' \
-d '{
"username": "teamuser1",
"password": "newpassword123",
"permissions": {
// ... updated permissions
}
}'
Option 2: Using the Web Dashboard ๐ฅ๏ธโ
Prefer a more visual approach? The faynoSync dashboard makes team management a breeze!
For Administrators:โ
- Click the Settings button in the dashboard
- A modal window will open where you can:
- ๐ฅ Create new team users
- ๐ Set passwords (or auto-generate them)
- โ Assign permissions with simple checkboxes
- โ๏ธ Update usernames and passwords
- ๐๏ธ Remove team users
For Team Users:โ
- Go to your Profile section
- View your current permissions at a glance:
- ๐ฑ Which applications you can access
- ๐ What actions you can perform
- ๐ What resources are available to you
This visual interface makes it much easier to:
- ๐ฏ Understand your permissions
- ๐ Manage team access
- ๐ Track resource availability
- โก Make quick changes
What's Next? ๐โ
In our next posts, we'll explore:
- Local development and deployment to server
- How to properly use
Fetch latest version of app
request
Stay tuned for more faynoSync tips and tricks! ๐
How to try faynoSync?โ
-
Follow the Getting Started guide:
๐ https://ku9nov.github.io/faynoSync-site/docs/category/getting-started -
Create your app using the REST API or web dashboard:
๐ฆ API Docs: https://ku9nov.github.io/faynoSync-site/docs/api
๐ฅ๏ธ Dashboard UI: https://github.com/ku9nov/faynoSync-dashboard -
Upload at least two versions of your application.
-
Check for updates with this simple request:
๐ก/info/latest
If you find this project helpful, please consider subscribing, leaving a comment, or giving it a star, create Issue or feature request on GitHub.
Your support keeps the project alive and growing ๐