Yêu cầu thg 10 6, 2017 2:51 CH 444 0 1
  • 444 0 1
+1

Laravel: Login sử dụng số điện thoại không cần mã nước?

Chia sẻ
  • 444 0 1

Các cao nhân cho em hỏi: Khi đăng kí bằng số điện thoại từ Facebook và login thì khi ta thử đăng nhập bằng cách gõ +841687xx hoặc 01687xx hoặc 8401687 hoặc 01687xx thì đều đăng nhập được. Vậy Facebook làm sao để detect ra mã nước để đăng nhập trong trường hợp mình không gõ vào mã nước? có phải nó detect ra mình đang đăng nhập ở Việt Nam nên nó tự nối mã nước vào không nhỉ? Giả sử như thế thì ra nước ngoài nhập 01687xx thì liệu có đăng nhập được không. 😄 Và trong Laravel ai đã làm cho trường hợp này rồi thì cho em một vài gợi ý với ạ. (bow)

thg 10 13, 2017 8:04 SA

Interesting question. Waiting for the answer 😄

1 CÂU TRẢ LỜI


Đã trả lời thg 10 19, 2017 7:08 SA
Đã được chấp nhận
+1

Ý tưởng

Bạn có thể tham khảo ý kiến của mình. Mình nghĩ là bạn có thể:

  • Thêm phần cài đặt vùng/mã vùng. Người dùng có thể cài đặt. Nhưng cái này cũng ko hay lắm.
  • Detect dựa trên ip của người dùng. Dựa vào IP của request gửi lên, mình detect ra thông tin địa điểm mà người dùng truy cập đến. Từ đó suy ra mã vùng cho số điện thoại. Sử dụng GeoPlugin hay iplocation.
  • Hay là kết hợp cả 2 cách trên, hoặc một cách nào khác mà mình chưa nghĩ ra. 😃

GeoPlugin

Chẳng hạn sử dụng GeoPlugin, mình gửi IP qua api tới geoplugin để lấy thông tin location:

curl http://geoplugin.net/json.gp?ip=1.55.242.188

Mình có result json trả về:

{
  "geoplugin_request":"1.55.242.188",
  "geoplugin_status":200,
  "geoplugin_credit":"Some of the returned data includes GeoLite data created by MaxMind, available from <a href='http:\/\/www.maxmind.com'>http:\/\/www.maxmind.com<\/a>.",
  "geoplugin_city":"Hanoi",
  "geoplugin_region":"Ha N\u1ed9i",
  "geoplugin_areaCode":"0",
  "geoplugin_dmaCode":"0",
  "geoplugin_countryCode":"VN",
  "geoplugin_countryName":"Vietnam",
  "geoplugin_continentCode":"AS",
  "geoplugin_latitude":"21.0333",
  "geoplugin_longitude":"105.85",
  "geoplugin_regionCode":"44",
  "geoplugin_regionName":"Ha N\u1ed9i",
  "geoplugin_currencyCode":"VND",
  "geoplugin_currencySymbol":"&#8363;",
  "geoplugin_currencySymbol_UTF8":"\u20ab",
  "geoplugin_currencyConverter":22718
}

IPLocation (npm package)

var iplocation = require('iplocation')
 
iplocation('56.70.97.8')
  .then(res => {
 
    /* res:
 
      {
        as: 'AS11286 KeyBank National Association',
        city: 'Cleveland',
        country: 'United States',
        countryCode: 'US',
        isp: 'KeyBank National Association',
        lat: 41.4875,
        lon: -81.6724,
        org: 'KeyBank National Association',
        query: '156.77.54.32',
        region: 'OH',
        regionName: 'Ohio',
        status: 'success',
        timezone: 'America/New_York',
        zip: '44115'
      }
 
    */
 
  })
  .catch(err => {
    console.error(err)
  })

Đó là ý kiến của mình mà bạn có thể tham khảo. Còn với facebook thì cả một hệ thống lớn và nó có hết thông tin, vị trí của mình thì lại khác rồi. Khi mình di chuyển địa điểm từ vùng này sang vùng khác là lên facebook nó đã có thông báo và hỏi rằng mình chuyển địa điểm bla bla.. Có muốn ghé thăm nhà hàng, khu du lịch bla bla...

Chia sẻ
thg 10 20, 2017 9:43 SA

Cảm ơn bạn nhé! Cũng là 1 ý tưởng hay 😄

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí