flask jwt 예제

By Dave Sanasack, on Aug, 02 2019

vimalloc/flask-jwt 확장에서 새로운 릴리스에 대한 알림을 원하십니까? 플라스크_jwt_확장 모듈에서 JWTManager를 가져옵니다. 또한 데이터베이스에 저장하기 전에 사용자가 설정한 암호를 암호화해야 합니다. 그것은 나쁜 관행으로 간주 됩니다 그리고 그것은 암호를 저장 하는 주요 보안 위협. 그래서 우리는 그것을 위해 flask_bcrypt 모듈을 사용할 것입니다. 아래의 의견에 귀하의 의견, 질문, 또는 팁을 공유 주시기 바랍니다. 전체 코드는 플라스크-jwt-인증 저장소에서 찾을 수 있습니다. 커뮤니티와 대화를 나누거나 https://gitter.im/flask-jwt-extended/Lobby 질문을 하십시오. 플라스크-jwt 확장 라이브러리에서 가져오기 섹션에 JWTManager 클래스 가져오기를 추가합니다. 다음으로, SQLChemy를 초기화한 후 JWT 비밀 키 상수를 추가하고 앱 인스턴스를 JWTManager 클래스에 전달하여 JWT를 초기화합니다. 간단히 하기 위해 프로젝트의 평평한 구조를 사용합니다.

그래서, 내부 /flask-jwt 폴더 4 파일을 만들 :이 튜토리얼에서, 나는 당신이 올바른 도구를 사용하는 경우 JWT 권한 부여를 추가하는 것은 큰 문제가 아니라는 것을 보여주기 위해 노력했다. 이 예제의 모든 소스 코드는 여기에서 찾을 수 있습니다: 파서를 사용하려면 리소스 내에서 참조해야 합니다. 예를 들어 이 경로는 `jwt_refresh_token_required`라는 이름의 flask_jwt_extended 모듈의 데코레이터를 사용합니다. 즉, 요청 개체는 권한 부여 헤더에 refresh_token을 포함해야 합니다. get_jwt_identity() 메서드를 호출하여 사용자 데이터를 얻을 수 있습니다. 그리고이 데이터를 사용하여 새 토큰을 만듭니다. 처음에는 수신된 데이터가 유효한지 확인합니다. 그렇다면 파일에서 만든 flask_bcrypt 개체를 사용하여 암호를 암호화 app.py합니다. 그런 다음 데이터를 데이터베이스에 저장합니다. 요청 개체에 오류가 있으면 잘못된 요청 매개 변수 메시지로 요청에 응답합니다. 참고 : 플라스크 – jwt는 분명히 포기하고 저자 (2015)에서 마지막 커밋 중 하나에 https://github.com/mattupstate/flask-jwt/issues/123 더 이상 업데이트없이 `pyJWT사용`https://github.com/mattupstate/flask-jwt/commit/2749d536015575a93f0d821aa0877275cf6a4a57 언급그래서 나는이 lib에 새로운 프로젝트를 기반으로하는 것이 안전하다고 생각한다! 플라스크 – 편안한에서 우리는 모든 마법을 수행하는 방법 reqparse을 가져. 여기서 는 먼저 parser를 reqparse로 초기화합니다.

요청파서(). 그런 다음 사용자 이름과 암호를 구문 분석하는 매개 변수를 추가합니다. 둘 다 필수 매개 변수입니다. 자세한 옵션은 설명서를 참조하십시오. 요청 개체에 추가 필드가 포함되어 있지 않은지 확인합니다. 유효성 검사 메서드에서는 다양 한 유형의 스키마 위반에 다른 오류를 throw 하는 붙들인 유효성 검사 함수를 사용 합니다. 우리는 그 오류를 포착하고 반환합니다. 요청 개체에 필요한 데이터를 얻을 수 있도록 일반적인 플라스크 경로에서 이러한 메서드를 사용할 것입니다. isValid (jwt) functino는 JWT의 정보를 기반으로 인증 된 경우 사용자가 있는지 확인하는 데 사용할 것입니다. 표준 속성 집합이 “[HEADER]의 인코딩된 JSON 개체에 상주한다는 JWT의 이전 기본 설명에서 기억하십시오. [페이로드].

[시그니처]”. 예를 들어, 다음 JWT `eyJ0eXAiOiJKV1QiLCJhbGciJiUzI1NiJ9.eyJdWIiOiJleGftcGxlQ1haWuY29tIWF0Ijo xntIyMzI2NzMyLCJleHAiOJ1MjJ1MjIzMjg1MzJ9.1n9fx0vL9GumDGatwm2vfUqQl3yZ7Kl4t5NWMvW-pgw`.