我正在创建自己的身份验证方法。我扩展了 NbAuthStrategy 并实现了方法验证,如下所示
@Injectable()
export class MyAuthStrategy extends NbAuthStrategy {
...
authenticate(user: UserData): Observable<NbAuthResult> {
...
this.userService.getUser(userId, function(user: IUser) {
console.log("called back" + user); ////// ?????
});
...
}
...
}
该方法应该返回一个 Observable 对象。
当我进行内存身份验证时,它工作得很好,没有问题。
当我尝试通过异步调用在 AWS Lambda 上进行身份验证时,问题就出现了。由于响应是异步的,我无法返回 Observable,因此我发现这种身份验证机制仅适用于内存或同步调用。
在异步调用上完成验证时如何进行身份验证?