#Authentication OAuth support for logging into Runbox

Open
#1,771 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
angular, typescript

Research direction

Start by reading the login page and the existing authentication flow in the Runbox 7 web app. The issue describes redirecting to an authorization server, handling a one-time code and exchanging it for tokens, but names no files, tests, or entry points. Done means users can sign in through the described flow, including 2FA when enabled.

Written by the indexing model from the issue text.

Description

enhancement P2-high

Is your feature request related to a problem? Please describe.
OAuth is a common authorization scheme that is increasingly popular, and would make logging into Runbox simpler, more secure, and more integrated with other services.

Describe the solution you'd like
Suggested user workflow:

  • Initiation: The user visits the Runbox login page and clicks the "Login" button.
  • Redirection: The browser is automatically redirected from the web mail interface to the Runbox auth server.
  • Authentication: The user enters their Runbox credentials (username and password) and performs Two-Factor Authentication (2FA) if enabled.
  • Consent (Optional): If it is the user's first time logging in through this method, they might see a screen asking them to confirm that the Runbox Web App can access your profile and email data.
  • Token Exchange: Behind the scenes, the authorization server sends a one-time code back to the web interface, which exchanges it for an ID Token and an Access Token.
  • Access Granted: The browser redirects the user back to your inbox. The user is logged in with a secure session based on the tokens provided, without the web app ever needing to store the actual password in its session memory.
Dominant language
TypeScript
Stars
132
Forks
55
Avg merge
6d 17h
Merged PRs (30d)
1

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from runbox/runbox7

All issues in runbox/runbox7

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.