忘记密码的情况下修改mx-space后台密码

2025 年 9 月 27 日 星期六(已编辑)
/ ,
2
这篇文章上次修改于 2025 年 9 月 27 日 星期六,可能部分内容已经不适用,如有疑问可询问作者。

忘记密码的情况下修改mx-space后台密码

太久没上博客了发现忘记了后台密码,摸索了一下怎么重置密码,顺便记录一下 万一以后又要用呢

不过,还是建议加一个passkey或者sso登录更稳妥

连接MongoDB

mongosh 
#如果开启了用户验证请使用
#mongosh -u 用户名 -p 密码 --authenticationDatabase admin

docker部署请先使用docker exec -it mongo bash进入容器

修改密码

  1. 进入mx-space数据库(默认)

    use mx-space
    
  2. 生成密码

由于mx-space使用bcrypt 2b版本进行加密,并且大部分在线网站生成的是2a版本的bcrypt(我也不知道能不能用)),所以直接使用python加密

代码如下:

pip install bcrypt #安装依赖
python3 - <<'PY' 
import bcrypt
pw=b"你的密码" 
print(bcrypt.hashpw(pw, bcrypt.gensalt(rounds=10)).decode())
PY
示例

示例
  1. 修改密码

修改前,先展示一下mx-space保存用户数据的字段

PS: 注释是我猜的 有误请见谅

mx-space> db.users.findOne() # 查询users的一条数据
{
  _id: ObjectId('xxxxxxxxxxxxxxxxxxx'), // 用户id
  username: 'username', // 用户名
  name: 'name',// 昵称
  password: '$2b$10$xxxxxxxxxxx', // 密码
  mail: 'xxxx@example.com', // 邮件
  apiToken: [], // api密钥
  oauth2: [], // oauth2
  created: ISODate('2020-08-01T08:04:53.138Z'), // 用户创建时间
  lastLoginIp: '127.0.0.1', // 最后一次登录时的ip
  lastLoginTime: ISODate('2025-09-27T08:00:00.709Z'), // 最后一次登录时的时间
  avatar: 'https://example.com/avatar.png' // 头像url
}

按 username 修改密码:

db.users.updateOne(
  { username: "username" },
  { $set: { password: "$2b$10$xxxxxxxxxxxxxxx" } }
)

按邮箱修改密码:

db.users.updateOne(
  { mail: "xxxx@example.com" },
  { $set: { password: "$2b$10$xxxxxxxxxxxxxxx" } }
)

无需重启后端 立即生效

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...