我正在尝试使用 Mongodb 的Stitch服务。当我尝试连接到 MongoDB 时,它给了我这个错误:
执行管道 com.mongodb.stitch.android.StitchException$StitchServiceException 时出错:连接到 MongoDB 服务集群时出错:服务器在 SASL 身份验证步骤上返回错误:身份验证错误 身份验证失败。
我已经看到了这个问题,但是在这里他使用登录名和密码进行身份验证,但我正在使用FacebookAuthProvider
登录。所以应该没有任何问题bad auth
,因为我可以清楚地看到用户的 Facebook 数据。
这是我用于相同的代码。
stitchClient = new StitchClient(getApplicationContext(), "user-recognition-tgnek");
mongoClient = new MongoClient(stitchClient, "mongodb-atlas");
db = mongoClient.getDatabase("<DatabaseName>");
FacebookAuthProvider fbProvider = FacebookAuthProvider.fromAccessToken(AccessToken.getCurrentAccessToken().getToken());
stitchClient.logInWithProvider(fbProvider).continueWithTask(new Continuation<String, Task<Void>>() {
@Override
public Task<Void> then(@NonNull Task<String> task) throws Exception {
final Document updateDoc = new Document(
"owner_id",
task.getResult()
);
updateDoc.put("Name", "Deepanshu Luhach");
return db.getCollection("Users").updateOne(null, updateDoc, true);
}
}).continueWithTask(new Continuation<Void, Task<List<Document>>>() {
@Override
public Task<List<Document>> then(@NonNull Task<Void> task) throws Exception {
if (!task.isSuccessful()) {
throw task.getException();
}
return db.getCollection("Users").find(
new Document("owner_id", stitchClient.getUserId()),
100
);
}
}).addOnCompleteListener(new OnCompleteListener<List<Document>>() {
@Override
public void onComplete(@NonNull Task<List<Document>> task) {
if (task.isSuccessful()) {
Log.d("STITCH", task.getResult().toString());
return;
}
Log.e("STITCH", task.getException().toString());
}
});
这是完整的 Logcat:
12-23 23:21:30.691 7086-7119/com.example.nwagh.myapplication E/Volley: [4067] BasicNetwork.performRequest: https://stitch.mongodb.com/api/client/v1的意外响应代码 502 .0/app/用户识别-tgnek/管道 12-23 23:21:30.705 7086-7086/com.example.nwagh.myapplication E/Stitch:执行管道 com.mongodb.stitch.android.StitchException$StitchServiceException 时出错:连接到 MongoDB 服务集群时出错:服务器返回错误SASL 认证步骤:bad auth 认证失败。在 com.mongodb.stitch.android.StitchError.a(SourceFile:53) 在 com.mongodb.stitch.android.StitchClient$10.onErrorResponse(SourceFile:754) 在 com.android.volley.Request.deliverError(Request.java:
请帮我解决这个问题,我找不到与此相关的任何内容。