【发布时间】:2019-07-07 10:37:16
【问题描述】:
我想同时创建 Cognito 用户并将用户分配给用户组。当你必须创建一个 observable 时,这对我来说很好。但是当有必要创建一个发出两个请求的可观察对象时,我不工作。我认为我们需要使用forkJoin 或flatMap。我使用 Angular 7 所以 RxJs 6.x。
创建代码OK:
createUser(user: User): Observable<User[]> {
const _self = this;
const cognitoidentityserviceprovider = new AWSCognito.CognitoIdentityServiceProvider({
credentials: this.getCognitoCreds()
});
const params = {
UserPoolId: this.poolData.UserPoolId,
Username: user.username,
DesiredDeliveryMediums: [ 'EMAIL' ],
ForceAliasCreation: false,
MessageAction: 'SUPPRESS',
TemporaryPassword: '1234fooo*',
UserAttributes: [
{
Name: 'email',
Value: user.email
}
]
};
return Observable.create(obs => {
cognitoidentityserviceprovider.adminCreateUser(params, function(error, data) {
if (error) {
console.log(error);
return Observable.throw(error || 'Server error');
} else {
console.log(data);
//
//
// HERE user is create :)
// I want add to group here (see code down in this post)
//
//
return obs.next(data);
}
});
});
}
添加组码OK:
const p = {
GroupName: 'admin',
UserPoolId: _self.poolData.UserPoolId,
Username: user.username
};
return Observable.create(o => {
cognitoidentityserviceprovider.adminAddUserToGroup(p, function(err, d) {
if (err) {
console.log(err);
return Observable.throw(err || 'Server error');
} else {
console.log(d);
return o.next(d);
}
});
});
【问题讨论】:
标签: angular observable amazon-cognito