将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)
}
}
});
是否可以将完整的电子邮件作为用户名发送?
答案 0 :(得分:1)
我们可以使用Auth0 Management API v2使用patch_users_by_id
更新username
(发送补丁程序更新用户名时,请确保包含connection
名称)。
详细地说,我相信这取决于您确定用户名设置方式的连接类型。例如,对于database connections,如果启用了Requires Username
,则用户可以设置用户名选项,以便随后可以使用其用户名或电子邮件地址登录。如果您使用的是数据库连接,则可能还需要检查username length> your-db-connection
> 用户名长度中的Dashboard > Connections > Database。您使用哪种类型的连接?您要将username
设置为email
的用例是什么?
根据您要实现的目标,我们可以考虑使用Rule将数据存储在user_metadata
中。