gpt4 book ai didi

loopback4 - 登录 Controller 的 Loopback 4 身份验证问题

转载 作者:行者123 更新时间:2023-12-05 02:07:15 27 4
gpt4 key购买 nike

我正在尝试为我的应用程序添加身份验证。有两个名为用户和用户凭据的模型。用户有一个用户凭证。

对用户的发布请求工作正常。密码存储在用户凭证模型(散列)中,其他字段存储在用户模型中。

但是当我发出登录请求时,出现以下错误

Unhandled error in POST /users/login: 500 TypeError: this.userRepository.findCredentials is not a function at MyUserService.verifyCredentials (D:\ionic-pr\loopback-projects\no\node_modules@loopback\authentication-jwt\src\services\user.service.ts:38:56) at process._tickCallback (internal/process/next_tick.js:68:7)

节点模块中 authentication-jwt 内的用户服务抛出错误。

我不知道出了什么问题。

提前致谢

编辑:现在我制作了两个 Controller 。第一个使发布请求工作正常。第二个执行如下登录

进口 -

import {TokenService} from '@loopback/authentication';
import {Credentials, MyUserService, TokenServiceBindings, UserRepository, UserServiceBindings} from "@loopback/authentication-jwt";
import {inject} from '@loopback/core';
import {repository} from '@loopback/repository';
import {post, requestBody} from '@loopback/rest';
import {SecurityBindings, UserProfile} from '@loopback/security';

构造函数-

constructor(
@inject(TokenServiceBindings.TOKEN_SERVICE)
public jwtService: TokenService,
@inject(UserServiceBindings.USER_SERVICE)
public userService: MyUserService,
@inject(SecurityBindings.USER, {optional: true})
public user: UserProfile,
@repository(UserRepository) protected userRepository: UserRepository,
)

最佳答案

正如您所说,您正在使用@loopback/authenntication-jwt

import {User} from '../models';
import {UserRepository} from '../repositories';

从上面看来,您似乎已经创建了自己的用户存储库。您没有使用扩展中的默认值,这是抛出错误。上面的导入应该是这样的

import {
Credentials,
MyUserService,
TokenServiceBindings,
User,
UserRepository,
UserServiceBindings,
} from "@loopback/authentication-jwt";

这会解决你的问题。如果您尝试创建自己的自定义用户,请参阅 https://github.com/strongloop/loopback-next/tree/master/extensions/authentication-jwt#customizing-user您还导入了错误的 UserSerivce。它应该来自@loopback/authentication-jwt你的注入(inject)应该是这样的

@inject(UserServiceBindings.USER_SERVICE) public userService: MyUserService,

关于loopback4 - 登录 Controller 的 Loopback 4 身份验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61954184/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com