【发布时间】:2019-04-27 00:00:04
【问题描述】:
我正在构建一个使用 AWS Cognito Javascript SDK 进行身份验证的 Angular 应用程序。
我有一个服务,我有一个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,我可以订阅它并获得身份验证结果:成功、失败或需要新密码。
我查看了 Observable bindCallback 和 bindNodeCallback 方法以及其他 question,但不知道该怎么做。
如何实现?
【问题讨论】:
标签: javascript angular rxjs amazon-cognito