I am currently attempting to authenticate using an API key at the app service endpoint in MongoDB Atlas, but I encountered an error:
{
"error": "multiple authentication methods used",
"error_code": "InvalidParameter",
"link": "[log link]"
}
I am using the ‘POST’ method. I have tried to investigate this issue on several forums, and they have suggested ensuring that only the API key is active, which I have already done. Strangely, I have used a similar approach with the API key in several previous codes, and it worked successfully, providing a ‘success’ response.
Here is the code I am using:
function register($req)
{
global $apiKey;
$url = "https://asia-south1.gcp.data.mongodb-api.com/app/application-0-gfdpr/endpoint/user";
$init = curl_init($url);
curl_setopt($init, CURLOPT_HTTPHEADER, [
"apikey: " . $apiKey,
"Content-Type: application/json",
]);
curl_setopt($init, CURLOPT_RETURNTRANSFER, true);
curl_setopt($init, CURLOPT_CUSTOMREQUEST, 'POST');
$data = json_encode([
"email" => $req['email'],
"username" => $req['username'],
"password" => password_hash($req['password'], PASSWORD_DEFAULT),
]);
curl_setopt($init, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($init);
curl_close($init);
var_dump($response);
}