NodeJS - Как написать дайджест-заголовок аутентификации для подключения к Mongodb Atlas Api - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь связать мое приложение nodejs с моим атласным кластером mongodb, и мне нужно иметь возможность добавлять и удалять пользователей с помощью API AtlasDB. Для доступа к API требуется дайджест-аутентификация, и API очень расплывчато в том, как на самом деле написать этот заголовок. Вот моя текущая попытка:

export async function createUser(userData) {
const options = {
    roles: [
        {
            roleName: "readWrite",
            databaseName: process.env.MONGO_DBNAME
        }
    ]
}
const url = `${process.env.MONGO_API_BASEURL}/groups/${process.env.MONGO_PROJECT_ID}/databaseUsers`


const result = await axios({
    method: 'POST',
    url,
    headers: {'WWW-Authenticate': `Digest ${process.env.MONGO_USERNAME}:${process.env.MONGO_APIKEY}},
    data: {
        databaseName: "admin",
        username: userData.username,
        password: userData.password,
        roles: options.roles,
        groupId: process.env.MONGO_PROJECT_ID
    }
})

return result}

Не удивительно, я получаю ответ 401, что означает, что аутентификация не удалась. Существует очень мало информации о написании Digest Auth Header, и я немного запутался, как это сделать.

Любая помощь будет принята с благодарностью. Спасибо!

...