Publié le

nodejs passport 예제

우리는 지금 우리의 여권 구성을 언급 할 것입니다. 우리는 우리가 그 config / passport.js 파일을 만든 후 주석을 해제합니다. “passport.js”를 “app.js” 파일에 연결해 보겠습니다. 모든 모델 아래에 다음 줄 추가: 익스프레스 또는 연결 기반 응용 프로그램에서 Passport를 사용하려면 필요한 passport.initialize() 미들웨어로 구성합니다. 응용 프로그램에서 영구 로그인 세션(권장되지만 필수는 아님)을 사용하는 경우 passport.session() 미들웨어도 사용해야 합니다. 여권의 모든 구성은 config/passport.js로 처리됩니다. 이 코드를 경로 나 서버 파일과 같은 다른 주요 파일에서 자체 파일에 보관하려고합니다. 나는 여권이 임의의 장소에서 구성 될 몇 가지 구현을 보았다. 나는이 구성 파일에 있으면 전체 응용 프로그램을 깨끗하고 간결하게 유지할 수 있다고 믿습니다. 첫째, 나중에 사용할 여권과 관련된 몇 가지 종속성이 필요합니다. Passport는 전략 개념을 사용하여 요청을 인증합니다.

전략은 사용자 이름 및 암호 자격 증명 확인, OAuth(예: Facebook 또는 Twitter를 통한) 위임 인증 또는 OpenID를 사용한 페더레이션 인증에 이르기까지 다양합니다. 당신은 체리 따기 자습서의 저를 비난 할 수, 당신은 바로 것, 체리 따기는 구글 결과의 첫 번째 페이지에서 선택하는 것을 의미하는 경우. TutsPlus에서 상위 순위의 여권 – 로컬 자습서를 선택해 보겠습니다. 이것은 암호 해싱에 대해 10의 비용 계수와 brypt를 사용한다는 점에서 더 좋습니다. 구글의 최고 결과, scotch.io 튜토리얼, 또한 8의 적은 비용 요소와 bcrypt를 사용합니다. 둘 다 작지만 8은 정말 작습니다. 요즘 대부분의 bcrypt 라이브러리는 12를 사용합니다. 8의 비용 요소는 원래 bcrypt 종이가 출시 되었을 때 18 년 전 관리자 계정에 대 한 했다. 여권 개체의 경로는 여기에서 유의해야 합니다. 우리는 var 여권 = 요구 (`여권`)와 파일의 맨 처음에 그것을 만들 것입니다. 그런 다음 구성할 수 있도록 구성/passport.js 파일로 전달합니다. 그런 다음 경로에 사용할 앱/routes.js 파일로 전달합니다.

이 것을 통해 가자. 첫째, 우리는 여권 – 지역 전략이 필요합니다. 그런 다음 Passport에 필요한 LocalStrategy의 인스턴스를 사용하도록 지시합니다. 거기서 우리는 단순히 우리가 사용자 이름을 기반으로 레코드를 찾기 위해 Mongo 셸에서 사용 했던 동일한 명령을 사용 합니다. 레코드를 발견하고 암호가 일치하는 경우 위의 코드는 사용자 개체를 반환합니다. 그렇지 않으면 false를 반환합니다. 간단히 하기 위해 이 예제에서는 두 번째 백업 저장소를 사용 하지 않고 메모리 내 사용자 인스턴스만 사용 합니다. 실제 응용 프로그램에서 findUser는 데이터베이스에서 사용자를 찾습니다. 있다 480+ 전략. 당신이 원하는 것들을 찾을 수 있습니다 : passportjs.org 웰프. 구글로 돌아가서 우리는 다음 튜토리얼을 찾을 수 있습니다.

자신의 여권 로컬 튜토리얼에서 암호 저장으로 확인 작업을한 스카치는 이전에 말한 것을 무시하고이 예제의 암호를 일반 텍스트로 저장합니다. 일치하는 경우 사용자가 (사용자를 여권으로 반환하여 – 반환 완료 (null, 사용자)))를 허용하지 않으면 무단 오류를 반환하지 않으면 (여권에 아무 것도 반환하지 않음 – 반환 done(null))). API 자격 증명에 JSON 웹 토큰을 사용해 보겠습니다. 상태 비데 스, 블랙리스트, 청구 가능한 토큰을 갖는 것은 10 년의 더 나은 부분에 사용 된 이전 API 키 / 비밀 패턴보다 낫다. 아마도 우리의 주니어 Node.js dev는 이전에 어딘가에 JWT에 대해 들어 보았거나 여권 jwt를 보고 JWT 전략을 구현하기로 결정했습니다.