Pythhon에서 Google Authenticator 설치 연습

개요

  • Google Authenticator(일본명 Google 인증 시스템)에 대한 조사를 포함할 목적으로 합니다.
  • 보통 QR 코드를 스캔하기 때문에 이미지를 처리합니다.쉽게 확인할 수 있도록 웹 응용 프로그램 유형을 시도했습니다.
  • 샘플 웹 응용 프로그램 정보

  • 동작
  • 내장형 랜덤 시크릿
  • 대응하는 QR코드 이미지를 생성하고 표시(사이트 이름=DemoSite, 계정 ID=[email protected]
  • 에 대응하는 여섯 개의 영패를 표시한다.1초에 한 번씩 업데이트됩니다.
  • 규격상 30초마다 영패가 바뀐다.
  • 소스가 있다github에서 공개합니다..
  • 동작 화면과 스마트폰 화면의 상태
  • 로컬 이동을 수행하려면

  • Linux에 Python 3 시스템 환경이 있으면 3분 이내에 작동
  • 단계
  • $ git clone [email protected]:shinsaka/googleauthenticator_demo.git
    $ cd googleauthenticator_demo
    $ pip install -r requirements.txt
    $ python manage.py migrate
    $ python manage.py runserver 0.0.0.0:8000
    
  • 웹 브라우저를 통한 액세스http://localhost:8000/
  • Heroku로 이동하는 순서.

  • 히로쿠 계정이 있으면 3분 동안 이동할 수 있다
  • 다음 단계의 <appname>를 적당한 문자열로 바꾸어 실행
  • $ git clone [email protected]:shinsaka/googleauthenticator_demo.git
    $ cd googleauthenticator_demo
    $ heroku apps:create <appname>
    $ heroku git:remote --app <appname>
    $ git push heroku master
    $ heroku run --app <appname> python manage.py migrate
    
  • 웹 브라우저에서 https:/herokuapp.com/
  • 액세스

    실제 편입 시

  • QR코드를 표시하고 스마트폰 등 기기에서 스캔·등록한 부분을 그대로 사용하는 것이 좋다.
  • 이번에는 영패 자체를 표시했지만 사용자가 입력한 영패를 검사할 때valid_totp() 방법을 사용해야 한다.
  • 앞뒤 영패와 비교할 수 있다.
  • 이 영패는 시간에 기초하기 때문에 서버와 스마트폰의 시계는 일치해야 하지만 -30초~+30초의 편차는 흡수할 수 있는 동작이다.
  • 좋은 웹페이지 즐겨찾기