jargonsdev / jargonsdev/jargons.dev

Bug: Handle GitHub OAuth Access Denied Error

Open
#7 0 comments 0 reactions 0 assignees View on GitHub
:arrow_upper_right: medium priority :bug: bug :sparkles: enhancement
Dominant language
MDX
Stars
56
Forks
45
PR merge metrics
No merged PRs in 30d

Description

When using GitHub OAuth for authentication in our application, users may encounter an "access_denied" error if they deny our application access, leading to dead blank screen (see screenshot). This error needs to be handled gracefully to provide a good user experience and guide users on how to resolve the issue.

image

#### Solution:
1. **Error Detection:** Implement error detection logic in the OAuth callback handler to identify the "access_denied" error.

2. **Error Handling:** When the "access_denied" error is detected, display a user-friendly message to inform the user that their access has been denied and provide guidance on how to proceed.

3. **Logging:** Log the error details for debugging and monitoring purposes.

4. **Redirect:** Optionally, provide a redirect mechanism to allow the user to retry the authentication process or navigate back to a previous page.

#### Example Error Details:

- Full URL: `http://localhost:4321/api/github/oauth/callback?error=access_denied&error_description=The+user+has+denied+your+application+access.&error_uri=https%3A%2F%2Fdocs.github.com%2Fapps%2Fmanaging-oauth-apps%2Ftroubleshooting-authorization-request-errors%2F%23access-denied&state=path%3A%2Fsandbox%7Credirect%3Atrue`
- Error: `access_denied`
- Description: `The user has denied your application access.`
- Error URI: [GitHub OAuth Troubleshooting Documentation](https://docs.github.com/apps/managing-oauth-apps/troubleshooting-authorization-request-errors/#access-denied)
- State: `path:/sandbox|redirect:true`

#### Acceptance Criteria:
- Users are presented with a clear message when the "access_denied" error occurs.
- The message includes instructions or a link to resolve the issue.

#### Related Tasks:
- Implement error detection in the OAuth callback handler.
- Design and implement a user-friendly error message for the "access_denied" error.
- Test the error handling mechanism to ensure it works as expected.

#### Additional Notes:
- This issue is crucial for maintaining a positive user experience and ensuring users can easily resolve authentication issues.

Contributor guide

Open the contributing guide

Research direction

Start at the GitHub OAuth callback handler at /api/github/oauth/callback and reproduce the access_denied URL shown in the issue. Trace how the callback currently responds, then verify that denial produces a clear message with resolution guidance and that the error details are logged; test the retry or navigation behavior if implemented.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, javascript
Domain
api, authentication
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.