unable to authenticate using mechanism SCRAM-SHA-1 处理

在 go 语言中,通常使用 mongo-drvier 访问 mongodb, 今天在使用中遇到一则奇怪错误提示: auth error: sasl conversation error: unable to authenticate using mechanism “SCRAM-SHA-1”: (AuthenticationFailed) Authentication failed, 看起来好像是认证机制出问题了,所以一开始朝一个错误的解决方向去努力, 浪费了不少时间。

要连接的目标数据库使用了用户验证机制, 因此在 mongo-drive 中使用了如下的 options:

1
clientOptions := options.Client().ApplyURI("mongodb://admin:xxxxxx@localhost:27017/testdb?authSource=admin")

结果就一直报错,看提示,以为是验证机制的问题,改为:

1
clientOptions := options.Client().ApplyURI("mongodb://admin:xxxxxx@localhost:27017/testdb?authSource=admin&authMechanism=PLAIN")

还是不行,有根据官方文档 换了几种机制都不行。

最后决定先用命令行登录试试,才发现是用户名和密码写错了,改了就好了。 准确的错误提示信息很重要啊。

当连接串(URI)中指定的数据库不存在也会报同样的错误信息

本文标题:unable to authenticate using mechanism SCRAM-SHA-1 处理

文章作者:Morning Star

发布时间:2020年06月29日 - 15:06

最后更新:2021年04月16日 - 15:04

原始链接:https://www.mls-tech.info/golang/go-mongodb-authenticate-error/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。