RocketChat / RocketChat/Rocket.Chat

OAuth login - Users are occasionally forced to change their password

Open
#30,880 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

Description:

Description:
Users logging in for the 2nd time via OAuth2 receive “email has already been used” error.
We use keycloak for oauth services.
image

Steps to reproduce:
  1. Configure KeyCloak for OAuth Service
  2. Try log in via keycloak (for example kerberos)
  3. Log out
  4. Try again
  5. Pop up about force change password

(allow change password - disabled for all users)
6.4.* the same issue

Expected behavior:

Merge LDAP / OAuth users without confirmation email, etc

Actual behavior:
Server Setup Information:

Version of Rocket.Chat Server: 6.3.10
Operating System: Linux
Deployment Method: Docker
Number of Running Instances: 30
DB Replicaset Oplog: False
NodeJS Version: v14.21.3
MongoDB Version: 5.0.9
Proxy: Haproxy
Firewalls involved: No

Client Setup Information
  • Desktop App or Browser Version: Electron latest
  • Operating System: Chrome latest
Additional context
Relevant logs:

The same issues:

https://github.com/RocketChat/Rocket.Chat/issues/18391

https://github.com/RocketChat/Rocket.Chat/issues/18255

https://github.com/RocketChat/Rocket.Chat/issues/17307

Contributor guide

Open the contributing guide

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.

Research direction

No files or tests are named. Start by reproducing the second Keycloak OAuth login and compare the behavior with issues 18391, 18255, and 17307; trace the user merge and password-change flow. Done means a returning OAuth user logs in without an “email has already been used” error, confirmation email, or forced password change.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
authentication, backend
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.