Отсутствуют функции AWS Cognito

Я пытаюсь создать панель администратора, используя AWS Cognito и AWS Cognito Identity. Моя проблема в том, что моя переменная CognitoIdentityServiceProvider не имеет никаких функций, связанных с группами, но имеет все остальные доступные функции.

Если быть точным, мне не хватает adminAddUserToGroup, adminListGroupsForUser, adminRemoveUserFromGroup, createGroup, deleteGroup, getGroup, listGroups, listUsersInGroup и updateGroup.

Я устанавливаю свою переменную так. Учетные данные установлены правильно.:

//Sign in, get creds, then do this.
admin = new AWSCognito.CognitoIdentityServiceProvider({
            credentials: AWSCognito.config.credentials
        });

Когда я console.log(admin);, мне предоставляется нижеприведенный объект, я расширил __proto__, чтобы показать, какие функции доступны для объекта.

b.constructor.b.constructor
_clientId:4
_originalConfig:(...)
get _originalConfig:()
config:constructor
endpoint:constructor
isGlobalEndpoint:false
__proto__: b.constructor.b.constructor
    addCustomAttributes: (a, c)
    adminConfirmSignUp:(a, c)
    adminDeleteUser:(a, c)
    adminDeleteUserAttributes:(a, c)
    adminDisableUser:(a, c)
    adminEnableUser:(a, c)
    adminForgetDevice: (a, c)
    adminGetDevice:(a, c)
    adminGetUser:(a, c)
    adminInitiateAuth:(a, c)
    adminListDevices :(a, c)
    adminResetUserPassword: (a, c)
    adminRespondToAuthChallenge:(a, c)
    adminSetUserSettings:(a, c)
    adminUpdateDeviceStatus:(a, c)
    adminUpdateUserAttributes:(a, c)
    adminUserGlobalSignOut:(a, c)
    api:d
    changePassword:(a, c)
    confirmDevice:(a, c)
    confirmForgotPassword:(a, c)
    confirmSignUp:(a, c)
    constructor:()
    createUserImportJob:(a, c)
    createUserPool:(a, c)
    createUserPoolClient:(a, c)
    deleteUser:(a, c)
    deleteUserAttributes:(a, c)
    deleteUserPool:(a, c)
    deleteUserPoolClient:(a, c)
    describeUserImportJob:(a, c)
    describeUserPool:(a, c)
    describeUserPoolClient:(a, c)
    forgetDevice:(a, c)
    forgotPassword:(a, c)
    getCSVHeader:(a, c)
    getDevice:(a, c)
    getUser:(a, c)
    getUserAttributeVerificationCode:(a, c)
    globalSignOut:(a, c)
    initiateAuth:(a, c)
    listDevices:(a, c)
    listUserImportJobs:(a, c)
    listUserPoolClients:(a, c)
    listUserPools:(a, c)
    listUsers:(a, c)
    resendConfirmationCode:(a, c)
    respondToAuthChallenge:(a, c)
    serviceIdentifier:"cognitoidentityserviceprovider"
    setUserSettings:(a, c)
    signUp:(a, c)
    startUserImportJob:(a, c)
    stopUserImportJob:(a, c)
    updateDeviceStatus:(a, c)
    updateUserAttributes:(a, c)
    updateUserPool:(a, c)
    updateUserPoolClient:(a, c)
    verifyUserAttribute:(a, c)
    __proto__: constructor

Я включаю последние версии aws-cognito-sdk.min.js, aws-cognito-identity-sdk.min.js и сборка по умолчанию для aws-sdk.

Ошибка, которую я получаю:

Uncaught Error: admin.adminListGroupsForUser is not a function
    at adminListGroupsForUser (aws-admin.js:121)
    at Object.<anonymous> (viewUsers.js:28)
    at Function.each (jquery.min.js:2)
    at n.fn.init.each (jquery.min.js:2)
    at buildUserTable (viewUsers.js:12)
    at constructor.<anonymous> (aws-admin.js:111)
    at constructor.<anonymous> (aws-cognito-sdk.min.js:4514)
    at constructor.callListeners (aws-cognito-sdk.min.js:4827)
    at constructor.emit (aws-cognito-sdk.min.js:4817)
    at constructor.emitEvent (aws-cognito-sdk.min.js:4607)
callListeners @ aws-cognito-sdk.min.js:4829
emit @ aws-cognito-sdk.min.js:4817
emitEvent @ aws-cognito-sdk.min.js:4607
a @ aws-cognito-sdk.min.js:4495
d.runTo @ aws-cognito-sdk.min.js:5499
(anonymous) @ aws-cognito-sdk.min.js:5507
(anonymous) @ aws-cognito-sdk.min.js:4501
(anonymous) @ aws-cognito-sdk.min.js:4608
callListeners @ aws-cognito-sdk.min.js:4833
emit @ aws-cognito-sdk.min.js:4817
emitEvent @ aws-cognito-sdk.min.js:4607
a @ aws-cognito-sdk.min.js:4495
d.runTo @ aws-cognito-sdk.min.js:5499
(anonymous) @ aws-cognito-sdk.min.js:5507
(anonymous) @ aws-cognito-sdk.min.js:4501
(anonymous) @ aws-cognito-sdk.min.js:4608
callListeners @ aws-cognito-sdk.min.js:4833
emit @ aws-cognito-sdk.min.js:4817
emitEvent @ aws-cognito-sdk.min.js:4607
a @ aws-cognito-sdk.min.js:4495
d.runTo @ aws-cognito-sdk.min.js:5499
(anonymous) @ aws-cognito-sdk.min.js:5507
(anonymous) @ aws-cognito-sdk.min.js:4501
(anonymous) @ aws-cognito-sdk.min.js:4608
callListeners @ aws-cognito-sdk.min.js:4833
emit @ aws-cognito-sdk.min.js:4817
emitEvent @ aws-cognito-sdk.min.js:4607
a @ aws-cognito-sdk.min.js:4495
d.runTo @ aws-cognito-sdk.min.js:5499
(anonymous) @ aws-cognito-sdk.min.js:5507
(anonymous) @ aws-cognito-sdk.min.js:4501
(anonymous) @ aws-cognito-sdk.min.js:4608
callListeners @ aws-cognito-sdk.min.js:4833
f @ aws-cognito-sdk.min.js:4821
(anonymous) @ aws-cognito-sdk.min.js:3191
d.emit @ aws-cognito-sdk.min.js:6769
finishRequest @ aws-cognito-sdk.min.js:3450
(anonymous) @ aws-cognito-sdk.min.js:3408

Извините за стену текста, но я просто хочу, чтобы у вас были все факты, которые помогут мне лучше понять, почему я получаю эту ошибку. Я пропустил включение или, возможно, что-то еще?

Спасибо.


person Hypnic Jerk    schedule 20.01.2017    source источник


Ответы (1)


Функции adminAddUserToGroup, adminListGroupsForUser, adminRemoveUserFromGroup, createGroup, deleteGroup, getGroup, listGroups, listUsersInGroup и updateGroup являются аутентифицированными операциями, поэтому вам нужны учетные данные AWS для доступа к ним, как вы уже заметили.

Они доступны через основной SDK AWS, и, как вы можете видеть, они должны быть в последней версии aws-sdk.

https://github.com/aws/aws-sdk-js/blob/master/apis/cognito-idp-2016-04-18.min.json#L339

Все, что вам нужно сделать, это импортировать основной SDK AWS, создать экземпляр соответствующего клиента, и у вас должен быть доступ к ним.

var client = new AWS.CognitoIdentityServiceProvider({ apiVersion: '2016-04-19', region });
person Ionut Trestian    schedule 20.02.2017
comment
Как оказалось, именно в этом и заключалась моя проблема. Я использовал урезанную версию cognito sdk, а не полную версию. - person Hypnic Jerk; 24.02.2017