首页 > 解决方案 > Auth0如何以用户名发送电子邮件

问题描述

在我将 Auth0 从版本 9 升级到版本 11 后,我在进行身份验证时遇到了问题。

我有一个请求 URL:https://my-domain.auth0.com/co/authenticate,我请求中的所有参数看起来都不错,除了用户名。它发送截断的电子邮件作为用户名参数,即如果我输入“someone@gmail.com”,它只发送“某人”作为用户名。

export class AuthService {
idToken: string;
lock = new Auth0Lock(myConfig.clientID, myConfig.domain, {
      responseType: 'id_token token',
         .........
      params: {
--------------->>>>>>>>>> if I write here:
          username: 'someone@gmail.com',
--------------->>>>>>>>>> then it sends this email as username parameter, 
no matter what I type in the login form. 
IS THERE A WAY TO WRITE SOMETHING LIKE username: 'email' (this one is not working)
      }
  }
});

有没有办法将完整的电子邮件作为用户名发送?

标签: auth0auth0-lock

解决方案


我们可以使用Auth0 Management API v2来更新username使用patch_users_by_id(确保connection在发送补丁以更新用户名时包含名称)。

详细地说,我相信这取决于您拥有的连接类型,这将决定用户名的设置方式。例如,对于数据库连接,如果Requires Username启用,则用户可以设置用户名选项,以便他们可以使用他们的用户名或电子邮件地址登录。如果您正在使用数据库连接,您可能还想在Dashboard > Connections > Database > > Username length中检查用户名长度。您使用什么类型的连接?您要设置的用例是 什么?根据您要实现的目标,我们可以研究使用规则将数据存储在.your-db-connectionusernameemailuser_metadata


推荐阅读