skip to Main Content

I am trying to use the Stitch service by Mongodb.
When I try to connect to MongoDB, it gives me this error :

Error while executing pipeline
com.mongodb.stitch.android.StitchException$StitchServiceException:
error connecting to MongoDB service cluster: server returned error on
SASL authentication step: bad auth Authentication failed.

I have already seen this question, but here he was using login and password for authentication but I’am using FacebookAuthProvider for login. So there shouldn’t be any issue of bad auth, as I can clearly see the users Facebook data.

This is the code I used for the same.

        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());
            }
        });

This is the complete Logcat:

12-23 23:21:30.691 7086-7119/com.example.nwagh.myapplication E/Volley:
[4067] BasicNetwork.performRequest: Unexpected response code 502 for
https://stitch.mongodb.com/api/client/v1.0/app/user-recognition-tgnek/pipeline
12-23 23:21:30.705 7086-7086/com.example.nwagh.myapplication E/Stitch:
Error while executing pipeline
com.mongodb.stitch.android.StitchException$StitchServiceException:
error connecting to MongoDB service cluster: server returned error on
SASL authentication step: bad auth Authentication failed.
at com.mongodb.stitch.android.StitchError.a(SourceFile:53)
at
com.mongodb.stitch.android.StitchClient$10.onErrorResponse(SourceFile:754)
at com.android.volley.Request.deliverError(Request.java:598)
at
com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:101)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6515)
at java.lang.reflect.Method.invoke(Native Method)
at
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Please help me with this issue, I can’t find anything related to this.

2

Answers


  1. Chosen as BEST ANSWER

    There was some error with connection to Atlas cluster. Just try to relink the app with the cluster and everything will work perfectly.

    To relink your app go to MongoDB Atlas -> Stitch Apps -> In the Actions you will see the option to unlink the app, then you can relink it again.

    Credits: @edaniels


  2. I had the same error when using with dokku mongo:import. I am suspecting that you included special characters in your mongo db name.
    In my case I included dot(period) in my db name

    You shouldn’t include dot in your mongodb name when ‘dokku mongo:create ‘ I’ve changed it to seunghunlee instead of seunghunlee.net now this command works

    dokku mongo:import seunghunlee < seunghunlee.net.dump.gz
    

    Hope it helps!

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search