1

我已经使用所有组件为 nebular 设置了身份验证,并用作NbPasswordAuthStrategy身份验证策略。

寄存器组件当前有以下输入,

  1. 全名
  2. 电子邮件
  3. 密码
  4. 重复输入密码

但我的 API 要求我有名字和姓氏,而不是全名。如何配置框架以使其适合我的自定义需求?

我已经研究过如何做到这一点,但没有得出任何结果。该设置既没有NbPasswordAuthStrategy任何方法来自定义表单,也没有提供用于自定义表单的示例。

我的身份验证配置如下所示

{
  strategies: [
    NbPasswordAuthStrategy.setup({
      name: 'email',
      token: {
        class: NbAuthJWTToken,
        key: 'token'
      },
      baseEndpoint: 'api',
      login: {
        endpoint: '/auth/login',
        redirect: {
          success: '/pages/dashboard',
          failure: null,
        },
      },
      register: {endpoint: '/auth/register'},
    }),
  ],
  forms: {
    logout: {
      strategy: 'email'
    }
  },
} 
4

2 回答 2

1

您无法通过身份验证模块配置自定义身份验证组件,而是需要扩展和自定义 Nebular 身份验证组件。这是一个指南

于 2019-12-16T16:50:14.593 回答
0

您可以像这样更改有效负载

  this.nbAuthService.authenticate('register', {
    fullName: 'fullName',
    password: 'password',
    email: 'email',
    repeatedPassword: 'repeatedPassword',
  }).subscribe(data => {
    this.router.navigate([data.getRedirect()]);
  });
于 2021-03-29T01:22:59.413 回答