forcedotcom / forcedotcom/cli

`sf org open` opens wrong user

Open
#3,369 14 comments 6 reactions 0 assignees View on GitHub
validated
Dominant language
No language data
Stars
571
Forks
80
Avg merge
2d 15h
Merged PRs (30d)
3

Description

### Summary
I created a few test users (usr1, usr2, usr3) on scratch org using `sf org create user` like this:
```
sf org user create -o tst -f .\config\user\def_adviser.json -a usr1
Successfully created user "1755897036479_test-ixl0v4in0wle@example.com" with ID 005Ad00000FIZzaIAH for org 00DAd000008CqMPMA0.
See more details about this user by running "sf org user display -o 1755897036479_test-ixl0v4in0wle@example.com".

sf org user create -o tst -f .\config\user\def_adviser.json -a usr2
Successfully created user "1755897260470_test-ixl0v4in0wle@example.com" with ID 005Ad00000FIaE5IAL for org 00DAd000008CqMPMA0.
See more details about this user by running "sf org user display -o 1755897260470_test-ixl0v4in0wle@example.com".

sf org user create -o tst -f .\config\user\def_adviser.json -a usr3
Successfully created user "1755897656193_test-ixl0v4in0wle@example.com" with ID 005Ad00000FIaHJIA1 for org 00DAd000008CqMPMA0.

See more details about this user by running "sf org user display -o 1755897656193_test-ixl0v4in0wle@example.com".
```

Image

and then I tried to login as those users using `sf org open -o usr1` or usr2 or usr3.

### Expected result
I should login as the specified user.

### Actual result
It will ask me for password reset for specified user once, BUT log me in as scratch admin user. Even if I logged out of "User User" (the main user), sf org open would still open the main user and not the one I specify.

Image

However, if I specified different browser using `sf org open -o usr1 --browser edge`, it will log me in as specified user **BUT only for the first time.**
Following attempt with different user will still open the first user:

`sf org open -o usr3 --browser edge`

Image

If I logout from that user on Edge and try to login as usr3, it will still log me in as usr1.
If it's my first login as **usr3**, it will prompt me to change password for usr3 and still login as **usr1**, a user from which I logged out and which shouldn't have active session.

What's even more interesting is that usr3 will have this login in Login History, but usr1 does not, even though it logged me as usr1 and I act as usr1. This may hint some security issue present in Salesforce.

### Additional information
1) This is user definition file:
```
{
"FirstName": "Adviser",
"LastName": "Test1",
"TimeZoneSidKey": "Europe/London",
"LocaleSidKey": "en_US",
"EmailEncodingKey": "UTF-8",
"LanguageLocaleKey": "en_US",
"profileName": "Standard User"
}

```
2) Scratch Org was created using Org Shape, so I have more user licenses available than empty scratch org.

3) This started affecting our automated tests, which used to open specific test user and now open admin user instead.

### System Information

```
CLI:
@salesforce/cli/2.102.6 win32-x64 node-v23.3.0

Plugin Version:
@oclif/plugin-autocomplete 3.2.34 (core)
@oclif/plugin-commands 4.1.32 (core)
@oclif/plugin-help 6.2.32 (core)
@oclif/plugin-not-found 3.2.64 (core)
@oclif/plugin-plugins 5.4.46 (core)
@oclif/plugin-search 1.2.28 (core)
@oclif/plugin-update 4.7.3 (core)
@oclif/plugin-version 2.2.32 (core)
@oclif/plugin-warn-if-update-available 3.1.46 (core)
@oclif/plugin-which 3.2.39 (core)
@salesforce/cli 2.102.6 (core)
agent 1.24.2 (core)
apex 3.6.19 (core)
api 1.3.3 (core)
auth 3.7.18 (core)
code-analyzer 5.0.0 (user)
community 3.3.8 (user)
custom-metadata 3.3.33 (user)
data 4.0.51 (core)
deploy-retrieve 3.22.38 (core)
dev 2.1.12 (user)
info 3.4.80 (core)
lightning-dev 2.10.2 (user)
limits 3.3.64 (core)
marketplace 1.3.8 (core)
org 5.9.22 (core)
packaging 1.22.1 (user)
schema 3.3.78 (core)
settings 2.4.42 (core)
sobject 1.4.68 (core)
telemetry 3.6.53 (core)
templates 56.3.60 (core)
trust 3.7.113 (core)
user 3.6.34 (core)
@salesforce/sfdx-scanner 4.7.0 (user)
sfdmu 4.33.17 (user)
sfdx-hardis 4.52.0 (user)
```

```
SF ENV. VARS.
SF_AUTOUPDATE_DISABLE,true
SF_DISABLE_AUTOUPDATE,true
SF_UPDATE_INSTRUCTIONS,Use "npm update --global @salesforce/cli" to update npm-based installations.
SF_BETA_TRACK_FILE_MOVES,true
```

```
Windows: true
Shell: powershell
Channel: stable
```
---
### Diagnostics
:white_check_mark: pass - salesforcedx plugin isn’t installed
:white_check_mark: pass - you don't have any linked plugins
:white_check_mark: pass - [@salesforce/plugin-trust] can ping: https://registry.npmjs.org
:white_check_mark: pass - [@salesforce/plugin-trust] can ping: https://registry.yarnpkg.com
:white_check_mark: pass - [@salesforce/plugin-trust] can ping: https://registry.npmjs.org/
:white_check_mark: pass - using latest or latest-rc CLI version
:white_check_mark: pass - can access: https://test.salesforce.com
:white_check_mark: pass - can access: https://appexchange.salesforce.com/services/data
:white_check_mark: pass - can access: https://developer.salesforce.com/media/salesforce-cli/sf/channels/stable/sf-win32-x64-buildmanifest
:x: fail - [@salesforce/plugin-auth] CLI supports v2 crypto
:white_check_mark: pass - [@salesforce/plugin-auth] CLI using stable v1 crypto
:white_check_mark: pass - [@salesforce/plugin-deploy-retrieve] sourceApiVersion matches apiVersion

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.