You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a Request For Comments (RFC). RFCs are intended to elicit feedback regarding a proposed change to the Amplify Framework. Please feel free to post comments or questions here.
Summary
Currently in the AWS Amplify Discord server, roles such as contributor must be manually assigned by an admin/moderator. If users opt-in to GitHub authentication, these roles can be auto-applied based on their GitHub status. Furthermore, this automation will track changes in contribution/staff status.
High-Level Goals
Add contributor role if user contributed to aws-amplify org
Add Amplify Staff role if user is member of an aws-amplify org team
Listen for changes in GitHub status
Common GitHub Authentication Use Cases
Auto-applying roles when joining the server
When someone joins the server, they can optionally authenticate themselves with their GitHub account. Instead of contacting a moderator to have a role applied, the bot will apply
contributor role if user has contributed to a repository within the aws-amplify organization
Amplify Staff role if user is a member of a team within the aws-amplify organization
Updating roles with changes in status
The bot will also listen for change to a user's GitHub status and reflect these in their Discord roles.
Someone who makes their first contribution to the aws-amplify organization on GitHub will be granted the contributor role
Someone who is no longer a member of a team within the aws-amplify organization will lose the Amplify Staff role on Discord
OAuth Flow
Discord user types the /login command, prompting the bot to send a hidden (ephemeral) message containing a link to the profile page
Upon clicking the link, user is directed to /profile/link page
If the user is NOT already logged into Discord, nextAuth automatically routes to the Discord login page
Once the user is logged into Discord, nextAuth automatically routes to the GitHub login page, where they can input their credentials
nextAuth automatically routes users back to the profile page, with a notification that the page is safe to close
Design Flowchart
graph TD
A((Discord User)) -- command: /login --> B(Profile Page)
B -- logged into Discord --> C{nextAuth}
B -- NOT logged into Discord --> D{nextAuth}
C -- nextAuth auto reroute --> E(GitHub Login)
D -- nextAuth auto reroute --> F(Discord Login)
F -- nextAuth auto reroute --> B
E -- nextAuth auto reroute --> G(Profile Page <br> *safe to close*)
style A color:white,fill:#7289DA
style B fill:lightblue
style C stroke:purple
style D stroke:purple
style E fill:lightblue
style F fill:lightblue
style G fill:lightblue
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
This is a Request For Comments (RFC). RFCs are intended to elicit feedback regarding a proposed change to the Amplify Framework. Please feel free to post comments or questions here.
Summary
Currently in the AWS Amplify Discord server, roles such as
contributor
must be manually assigned by an admin/moderator. If users opt-in to GitHub authentication, these roles can be auto-applied based on their GitHub status. Furthermore, this automation will track changes in contribution/staff status.High-Level Goals
contributor
role if user contributed toaws-amplify
orgAmplify Staff
role if user is member of anaws-amplify
org teamCommon GitHub Authentication Use Cases
Auto-applying roles when joining the server
When someone joins the server, they can optionally authenticate themselves with their GitHub account. Instead of contacting a moderator to have a role applied, the bot will apply
contributor
role if user has contributed to a repository within theaws-amplify
organizationAmplify Staff
role if user is a member of a team within theaws-amplify
organizationUpdating roles with changes in status
The bot will also listen for change to a user's GitHub status and reflect these in their Discord roles.
aws-amplify
organization on GitHub will be granted thecontributor
roleaws-amplify
organization will lose theAmplify Staff
role on DiscordOAuth Flow
/login
command, prompting the bot to send a hidden (ephemeral) message containing a link to the profile page/profile/link
pageDesign Flowchart
Related Issues
#16
Questions for the Community
/login
command the user is sent a hidden message. What do you think about this compared to alternatives like sending a DM?Beta Was this translation helpful? Give feedback.
All reactions