Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(platform): List and revoke credentials in user profile #8207

Merged

Conversation

kcze
Copy link
Contributor

@kcze kcze commented Sep 27, 2024

Background

Changes 🏗️

Display existing credentials (OAuth and API keys) for all current providers: Google, Github, Notion and allow user to remove them. For providers that support it, we also revoke the tokens through the API; in this case, only Google and GitHub support it, Notion doesn't.

  • Add credentials list and Delete button in /profile
  • Add revoke_tokens abstract method to BaseOAuthHandler and implement it in each provider
  • Revoke OAuth tokens for providers on DELETE /{provider}/credentials/{cred_id}, and return whether tokens could be revoked
  • Update autogpt-server-api/baseClient.ts:deleteCredentials with CredentialsDeleteResponse return type
  • Update autogpt-server-api/baseClient.ts:_request to properly handle empty server responses

Testing 🔍

Note

Only for the new autogpt platform, currently in autogpt_platform/

  • Create from scratch and execute an agent with at least 3 blocks
  • Import an agent from file upload, and confirm it executes correctly
  • Upload agent to marketplace
  • Import an agent from marketplace and confirm it executes correctly
  • Edit an agent from monitor, and confirm it executes correctly

@github-actions github-actions bot added platform/frontend AutoGPT Platform - Front end platform/backend AutoGPT Platform - Back end size/l labels Sep 27, 2024
Copy link

netlify bot commented Sep 27, 2024

Deploy Preview for auto-gpt-docs canceled.

Name Link
🔨 Latest commit f930bf9
🔍 Latest deploy log https://app.netlify.com/sites/auto-gpt-docs/deploys/66f6b7db7d1d120008147f81

Copy link

netlify bot commented Sep 27, 2024

Deploy Preview for auto-gpt-docs canceled.

Name Link
🔨 Latest commit 042e098
🔍 Latest deploy log https://app.netlify.com/sites/auto-gpt-docs/deploys/670d3246a55fee0008cf04c4

@CLAassistant
Copy link

CLAassistant commented Sep 30, 2024

CLA assistant check
All committers have signed the CLA.

@kcze kcze marked this pull request as ready for review September 30, 2024 18:32
@kcze kcze requested a review from a team as a code owner September 30, 2024 18:32
@kcze kcze requested review from Torantulino, aarushik93, Pwuts and majdyz and removed request for a team, Torantulino and aarushik93 September 30, 2024 18:32
@kcze kcze requested a review from Pwuts October 2, 2024 15:50
@github-actions github-actions bot added the conflicts Automatically applied to PRs with merge conflicts label Oct 3, 2024
Copy link
Contributor

github-actions bot commented Oct 3, 2024

This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request.

@majdyz majdyz removed their request for review October 10, 2024 02:54
@Pwuts Pwuts self-assigned this Oct 10, 2024
@github-actions github-actions bot added documentation Improvements or additions to documentation and removed conflicts Automatically applied to PRs with merge conflicts labels Oct 10, 2024
Copy link
Contributor

Conflicts have been resolved! 🎉 A maintainer will review the pull request shortly.

@Pwuts
Copy link
Member

Pwuts commented Oct 10, 2024

is this what it's supposed to look like?
image

@Pwuts Pwuts force-pushed the kpczerwinski/open-1713-allow-users-to-revoke-oauth-permissions branch from 1ee9b07 to ac3eec2 Compare October 11, 2024 19:55
@Pwuts
Copy link
Member

Pwuts commented Oct 11, 2024

image

Pwuts added 3 commits October 11, 2024 21:57
- set content maximum width
- add icons to buttons
- fix alignment of log out button
- fix spacing of Actions column in credentials table
- fix heading size
@Pwuts
Copy link
Member

Pwuts commented Oct 12, 2024

image

Pwuts
Pwuts previously approved these changes Oct 14, 2024
@Pwuts Pwuts changed the base branch from master to dev October 14, 2024 15:08
@Pwuts Pwuts enabled auto-merge (squash) October 14, 2024 15:48
@Pwuts Pwuts merged commit bd5d2b1 into dev Oct 14, 2024
7 checks passed
@Pwuts Pwuts deleted the kpczerwinski/open-1713-allow-users-to-revoke-oauth-permissions branch October 14, 2024 15:50
aarushik93 added a commit that referenced this pull request Oct 16, 2024
* feat(platform): List and revoke credentials in user profile (#8207)

Display existing credentials (OAuth and API keys) for all current providers: Google, Github, Notion and allow user to remove them. For providers that support it, we also revoke the tokens through the API: of the providers we currently have, Google and GitHub support it; Notion doesn't.

- Add credentials list and `Delete` button in `/profile`
- Add `revoke_tokens` abstract method to `BaseOAuthHandler` and implement it in each provider
- Revoke OAuth tokens for providers on `DELETE` `/{provider}/credentials/{cred_id}`, and return whether tokens could be revoked
   - Update `autogpt-server-api/baseClient.ts:deleteCredentials` with `CredentialsDeleteResponse` return type

Bonus:
- Update `autogpt-server-api/baseClient.ts:_request` to properly handle empty server responses

* fix(backend): Lower the number of node workers to save DB connections (#8331)

Change [graph]×[node] worker limit from 10×5 to 10×3

---------

Co-authored-by: Reinier van der Leer <[email protected]>

* fix(ci,platform): Add dev branch trigger to all ci (#8339)

* update ci for dev

* update classic

* remove duplicate dev

* fix(frontend): Fix styling inconsistencies in input elements (#8337)

- Apply consistent border styling to `Input`, `Select`, and `Textarea`
   - Remove `rounded-xl` from node input elements

- Add `whitespace-nowrap` to `CustomNode` header category tags

---------

Co-authored-by: Zamil Majdy <[email protected]>

* feat(builder): Use configmap for builder (#8343)

use configmap in builder

* fix(platform,infra): Checkin non secret values  (#8344)

checkin non secrets

* security(platform): Add sealed secrets (#8342)

* add sealed secrets

* add encrypted secrets

* remove extra space

* Tf public media buckets (#8324)

* fix(infra): Fix sealed secret names  (#8350)

* fix sealed secret names

* fix names and add annotation

* feat(backend): Introduce executors shared DB connection (#8340)

* update health checkendpoint

---------

Co-authored-by: Krzysztof Czerwinski <[email protected]>
Co-authored-by: Reinier van der Leer <[email protected]>
Co-authored-by: Zamil Majdy <[email protected]>
Co-authored-by: Swifty <[email protected]>
aarushik93 added a commit that referenced this pull request Oct 16, 2024
* feat(platform): List and revoke credentials in user profile (#8207)

Display existing credentials (OAuth and API keys) for all current providers: Google, Github, Notion and allow user to remove them. For providers that support it, we also revoke the tokens through the API: of the providers we currently have, Google and GitHub support it; Notion doesn't.

- Add credentials list and `Delete` button in `/profile`
- Add `revoke_tokens` abstract method to `BaseOAuthHandler` and implement it in each provider
- Revoke OAuth tokens for providers on `DELETE` `/{provider}/credentials/{cred_id}`, and return whether tokens could be revoked
   - Update `autogpt-server-api/baseClient.ts:deleteCredentials` with `CredentialsDeleteResponse` return type

Bonus:
- Update `autogpt-server-api/baseClient.ts:_request` to properly handle empty server responses

* fix(backend): Lower the number of node workers to save DB connections (#8331)

Change [graph]×[node] worker limit from 10×5 to 10×3

---------

Co-authored-by: Reinier van der Leer <[email protected]>

* fix(ci,platform): Add dev branch trigger to all ci (#8339)

* update ci for dev

* update classic

* remove duplicate dev

* fix(frontend): Fix styling inconsistencies in input elements (#8337)

- Apply consistent border styling to `Input`, `Select`, and `Textarea`
   - Remove `rounded-xl` from node input elements

- Add `whitespace-nowrap` to `CustomNode` header category tags

---------

Co-authored-by: Zamil Majdy <[email protected]>

* feat(builder): Use configmap for builder (#8343)

use configmap in builder

* fix(platform,infra): Checkin non secret values  (#8344)

checkin non secrets

* security(platform): Add sealed secrets (#8342)

* add sealed secrets

* add encrypted secrets

* remove extra space

* Tf public media buckets (#8324)

* fix(infra): Fix sealed secret names  (#8350)

* fix sealed secret names

* fix names and add annotation

* feat(backend): Introduce executors shared DB connection (#8340)

* update health checkendpoint

---------

Co-authored-by: Krzysztof Czerwinski <[email protected]>
Co-authored-by: Reinier van der Leer <[email protected]>
Co-authored-by: Zamil Majdy <[email protected]>
Co-authored-by: Swifty <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation platform/backend AutoGPT Platform - Back end platform/frontend AutoGPT Platform - Front end size/l
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Allow users to revoke OAuth permissions UI to display current OAuth connection statuses
3 participants