ServiceStack AuthFeature 允许用户名的电子邮件地址

ServiceStack AuthFeature Allow Email Address for UserName

我想使用电子邮件地址作为用户名。我可以仅使用电子邮件和密码“/注册”(用户名在 AuthUser table 中可以为空),但不能再“/验证”,因为用户名是 NULL。如果我将电子邮件复制到 AuthUser table 中的用户名,我可以成功地“/authenticate”。

问题是,根据 AuthFeatureExtensions class 的 IsValidUsername 方法中的验证正则表达式,电子邮件地址包含无效字符,因此,您无法使用 UserName = 电子邮件地址“/注册”。

我一直在想如何尽可能地覆盖它?

谢谢,

周杰伦

ServiceStack Authentication已经天然支持通过Email进行认证。当您使用包含“@”的用户名进行身份验证时,ServiceStack 将检查电子邮件字段而不是用户名。

所以不要复制任何东西,当您注册时,只需将电子邮件字段中的电子邮件和用户名留空即可。