Я создаю угловое приложение, используя AWS Cognito Javascript SDK для аутентификации.
У меня есть служба, для которой у меня есть метод login
:
login(username: string, password: string): void {
const authData = {
Username: username,
Password: password
};
const authDetails = new AuthenticationDetails(authData);
const userData = {
Username: username,
Pool: userPool
};
this.cognitoUser = new CognitoUser(userData);
const self = this;
this.cognitoUser.authenticateUser(authDetails, {
onSuccess: self.onSuccess.bind(self),
onFailure: self.onFailure.bind(self),
newPasswordRequired: function(userAttributes, requiredAttributes) {
self.newPasswordRequired.next(true);
self.authIsLoading.next(false);
}
});
}
Теперь вместо этогоиспользования обратных вызовов непосредственно в сервисе, я хотел бы вернуть наблюдаемый метод из login
, на который я могу подписаться и получить результат аутентификации: требуется успех, сбой или новый пароль.
Я взялпосмотрите методы Observable bindCallback и bindNodeCallback , а также на этот другой вопрос , но не можете понять, как это сделать.
Какможет ли это быть достигнуто?