Last active
October 14, 2024 20:23
-
-
Save pedroigor/1485c333ca3be0f1ce1353167c3d1f9d to your computer and use it in GitHub Desktop.
Discussion with Stan about FGA and the authorization model
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Create Permission UI | |
# Permissions to manage all users in a realm | |
* Resource Type: Users <required> | |
* Scope: update | read | delete | create | |
* Allow Users: <select a group> | <select role> | <select whatever we think makes sense as a access control mechanism> <mandatory> | |
# Permissions to manage users from a group and manage groups in a realm | |
* Resource Type: Group <required> | |
* Resource: <groupid> <optional> | |
* Scope: create| update | read | delete | update-members | read-members | update-membership | |
* Allow Users: <select a group> | |
# Permissions to manage clients in a realm | |
* Resource Type: Client <required> | |
* Resource: <clientid> <optional> | |
* Scope: create| update | read | delete | token-exchange | |
* Allow Users: <select a group> | <select a client> | |
interface AuthorizationModel { | |
getScopes(); | |
getSupportedPolicies(); | |
} | |
ClientModel implements AuthorizationModel { | |
// override | |
} | |
{ | |
"type": group, | |
"scopes": ["foo", "bar"] | |
"supportedPolicies: ["group", "client"] | |
} | |
{ | |
"type": "group", | |
"scopes": { | |
"foo": { | |
uri: "/admin/realms/groups/{id}", | |
"verb": "put" | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment