{"action":"created","issue":{"url":"https://api.github.com/repos/aws-amplify/amplify-cli/issues/318","repository_url":"https://api.github.com/repos/aws-amplify/amplify-cli","labels_url":"https://api.github.com/repos/aws-amplify/amplify-cli/issues/318/labels{/name}","comments_url":"https://api.github.com/repos/aws-amplify/amplify-cli/issues/318/comments","events_url":"https://api.github.com/repos/aws-amplify/amplify-cli/issues/318/events","html_url":"https://github.com/aws-amplify/amplify-cli/issues/318","id":371696042,"node_id":"MDU6SXNzdWUzNzE2OTYwNDI=","number":318,"title":"Group Authorization Limited by Cognito 25 Groups Per Userpool Limit","user":{"login":"hisham","id":81853,"node_id":"MDQ6VXNlcjgxODUz","avatar_url":"https://avatars0.githubusercontent.com/u/81853?v=4","gravatar_id":"","url":"https://api.github.com/users/hisham","html_url":"https://github.com/hisham","followers_url":"https://api.github.com/users/hisham/followers","following_url":"https://api.github.com/users/hisham/following{/other_user}","gists_url":"https://api.github.com/users/hisham/gists{/gist_id}","starred_url":"https://api.github.com/users/hisham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hisham/subscriptions","organizations_url":"https://api.github.com/users/hisham/orgs","repos_url":"https://api.github.com/users/hisham/repos","events_url":"https://api.github.com/users/hisham/events{/privacy}","received_events_url":"https://api.github.com/users/hisham/received_events","type":"User","site_admin":false},"labels":[{"id":1033398253,"node_id":"MDU6TGFiZWwxMDMzMzk4MjUz","url":"https://api.github.com/repos/aws-amplify/amplify-cli/labels/enhancement","name":"enhancement","color":"a2eeef","default":true},{"id":1037299867,"node_id":"MDU6TGFiZWwxMDM3Mjk5ODY3","url":"https://api.github.com/repos/aws-amplify/amplify-cli/labels/graphql-transformer","name":"graphql-transformer","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":{"login":"mikeparisstuff","id":1975655,"node_id":"MDQ6VXNlcjE5NzU2NTU=","avatar_url":"https://avatars1.githubusercontent.com/u/1975655?v=4","gravatar_id":"","url":"https://api.github.com/users/mikeparisstuff","html_url":"https://github.com/mikeparisstuff","followers_url":"https://api.github.com/users/mikeparisstuff/followers","following_url":"https://api.github.com/users/mikeparisstuff/following{/other_user}","gists_url":"https://api.github.com/users/mikeparisstuff/gists{/gist_id}","starred_url":"https://api.github.com/users/mikeparisstuff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikeparisstuff/subscriptions","organizations_url":"https://api.github.com/users/mikeparisstuff/orgs","repos_url":"https://api.github.com/users/mikeparisstuff/repos","events_url":"https://api.github.com/users/mikeparisstuff/events{/privacy}","received_events_url":"https://api.github.com/users/mikeparisstuff/received_events","type":"User","site_admin":false},"assignees":[{"login":"mikeparisstuff","id":1975655,"node_id":"MDQ6VXNlcjE5NzU2NTU=","avatar_url":"https://avatars1.githubusercontent.com/u/1975655?v=4","gravatar_id":"","url":"https://api.github.com/users/mikeparisstuff","html_url":"https://github.com/mikeparisstuff","followers_url":"https://api.github.com/users/mikeparisstuff/followers","following_url":"https://api.github.com/users/mikeparisstuff/following{/other_user}","gists_url":"https://api.github.com/users/mikeparisstuff/gists{/gist_id}","starred_url":"https://api.github.com/users/mikeparisstuff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mikeparisstuff/subscriptions","organizations_url":"https://api.github.com/users/mikeparisstuff/orgs","repos_url":"https://api.github.com/users/mikeparisstuff/repos","events_url":"https://api.github.com/users/mikeparisstuff/events{/privacy}","received_events_url":"https://api.github.com/users/mikeparisstuff/received_events","type":"User","site_admin":false}],"milestone":null,"comments":5,"created_at":"2018-10-18T20:20:27Z","updated_at":"2018-11-30T05:30:06Z","closed_at":null,"author_association":"NONE","body":"**Is your feature request related to a problem? Please describe.**\r\nAuthorization by Group is great but since Cognito has a 25 group limit on userpool (see https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-user-groups.html), this method of authorization becomes very limiting. \r\n\r\nImagine a project management app where you can have many teams, each with their own tasks and users. You want to allow each team to have access to all tasks. How do you enforce this access? @auth seems like it would work but it is limited by the fact that Cognito officially supports 25 groups per userpool max. This limits the app to 25 teams max.\r\n\r\n**Describe the solution you'd like**\r\nEither for cognito to support more than 25 groups, or some other alternative within the graphql transformer to specify a model that represents the group which is then connected to the users and the resolver logic checks if the user belongs to the group(s) specified.\r\n\r\n**Describe alternatives you've considered**\r\nHave not thought through exact solutions yet. It's either to have an \"owners\" field instead of groups field but that gets cumbersome as you have to update owners on multiple models everytime group structure changes. Have a custom lambda that generates its own identityField like what's mentioned in https://github.com/aws-amplify/amplify-cli/issues/317 also works. Or just changing resolver logic manually to check if user belongs to a group where group is defined by the application rather than cognito.\r\n"},"comment":{"url":"https://api.github.com/repos/aws-amplify/amplify-cli/issues/comments/443096021","html_url":"https://github.com/aws-amplify/amplify-cli/issues/318#issuecomment-443096021","issue_url":"https://api.github.com/repos/aws-amplify/amplify-cli/issues/318","id":443096021,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MzA5NjAyMQ==","user":{"login":"hisham","id":81853,"node_id":"MDQ6VXNlcjgxODUz","avatar_url":"https://avatars0.githubusercontent.com/u/81853?v=4","gravatar_id":"","url":"https://api.github.com/users/hisham","html_url":"https://github.com/hisham","followers_url":"https://api.github.com/users/hisham/followers","following_url":"https://api.github.com/users/hisham/following{/other_user}","gists_url":"https://api.github.com/users/hisham/gists{/gist_id}","starred_url":"https://api.github.com/users/hisham/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hisham/subscriptions","organizations_url":"https://api.github.com/users/hisham/orgs","repos_url":"https://api.github.com/users/hisham/repos","events_url":"https://api.github.com/users/hisham/events{/privacy}","received_events_url":"https://api.github.com/users/hisham/received_events","type":"User","site_admin":false},"created_at":"2018-11-30T05:30:06Z","updated_at":"2018-11-30T05:30:06Z","author_association":"NONE","body":"fyi - good news, cognito increased my limit to 500 groups in the userpool. Took a while but they finally did it. So I guess I could use that option though if #317 is resolved through pipeline resolvers which I assume is the ideal/planned solution then I prefer to go that route. I'll try to keep myself busy with other things to buy some time..."}}
{"actor":{"display_login":"hisham"}}