使电话号码基于登录友好并保持电话号码独特

时间:2017-06-15 23:38:43

标签: django database

对非技术问题感到抱歉。

我得到了一个意外的请求,即网络(基于django的)应用的用户应该能够使用他们的电话号码登录。它工作正常,直到有相似号码的人从不同的国家/地区登录,但在同一网络下。也就是说,数字078 *******已经存在并拒绝注册。事实上,这些手机在不同的国家是不同的。添加国家/地区代码时,它们仍然是唯一的。

但是,在登录期间,我真的想避免要求他们包含国家/地区代码;必须喜欢facebook登录。什么是最明智的处理方法?

2 个答案:

答案 0 :(得分:0)

您可以在电话号码前面对国家/地区代码框进行地理位置定位,如果需要,可以对其进行更正。如果你不想让它们超载,你甚至可以让它看起来像一面旗帜。

你需要确定它们是不同的,并且地理位置是一种简单的方法,而不必询问它们。

答案 1 :(得分:0)

您可以使用找到here的phone-iso3166软件包将国家/地区名称与电话号码相关联。 通过使用电话号码和国家/地区代码作为主键,您将能够唯一地处理其注册。

就登录而言,您可以尝试在浏览器上通过Javascript使用其地理位置来了解他们来自哪个国家/地区并对其进行身份验证。这可能不是故障安全方法,因为用户可能从其他国家/地区登录。要处理此问题,您可以在身份验证系统中进行解决,以检查与数据库中的用户条目匹配的所有可能的电话号码,并尝试对它们进行全部身份验证,无论何种适合,将它们添加到会话中。这增加了使用忘记密码的另一个复杂性,您需要使用电子邮件而不是电话号码处理此问题。