이 인증 코드의 마지막 부분에 오신 것을 환영합니다. 로그 아웃 기능을 추가 한 다음 로그인 한 미들웨어를 추가하여 사용자가 잠겨 있는지 확인합니다. 안으로 또는 아닙니다.
그래서 우리는 그 시간에 도착할 것입니다.
로그 아웃으로 시작하여 로그인 또는 등록보다 훨씬 간단합니다.
우리는 두 가지 길을 가질 필요가 없습니다.
우리는 양식이 필요 없습니다.
우리가 원하는 것은 단순한 링크이며, 링크를 클릭하면 현재 사용자를 로그 아웃하거나 로그 아웃해야합니다.
먼저 링크부터 시작해 보겠습니다.
홈 페이지로 이동하여 존재하지 않는 로그 아웃에 대한 링크에서 광고를 시작하고 로그 아웃을 말합니다.
또한 아직 로그인하지 않았으므로 로그인 할 수있는 링크를 추가하십시오.
그리고 이제 이것을 복사하여 모든 템플릿에 넣으므로 각 페이지마다 세 개의 링크가 있습니다.
승인.
이제 우리 주소로 돌아가서 로그 아웃 경로를 처리해야합니다.
그래서 우리는 나중에 슬래시 로그 아웃을 추가 할 필요가 있습니다. 우리는 그냥 무언가를 보냄으로써 멋지고 간단하게 시작할 수 있습니다.
RAZ 그리고.
승인.
나는 너를 밖으로 로그 아웃 할 것이다.
아직 저장하지 않았습니다.
그리고 우리는이 링크를 클릭 할 때 이것을보아야합니다.
우리 서버를 시작합시다.
시도하고 로그 아웃하자 페이지를 새로 고치십시오. 오랫동안 로그 아웃했는지 여부는 중요하지 않습니다.
우리는 우리가 원하는 응답을 얻습니다.
이제 우리가 실제로해야 할 일은 실제로 Passport를 사용하여 간단하게 사용자를 로그 아웃하는 것입니다.
로그 아웃하는 간단한 회선 요청만으로 모든 작업을 처리 할 수 ​​있습니다.
우리가 누군가를 잠그면 우리는 실제로 데이터베이스에서 어떤 것도 변화시키지 못한다는 것을 기억하십시오.
거기에 거래가 없습니다.
무슨 일이 일어나고있는 것은 여권이 세션의 모든 사용자 데이터를 파괴하고 있다는 것입니다.
요청에서 요청까지 세션에서이 사용자의 데이터를 더 이상 추적하지 않습니다.
따라서 우리가 구원을 받으면 리디렉션과 같은 일이 결국 필요합니다.
홈 페이지로 리디렉션됩니다.
이 슬래시로 리디렉션됩니다.
일단 로그 아웃되면 OK를 클릭하고 서버를 다시 시작한 후 한 번 시도해 봅시다.
그래서 새로 고침하겠습니다. 로그인을하면 비밀번호로 생성 한 계정으로 콜트로 로그인하게됩니다.
나는 비밀 페이지에 접속한다.
로그 아웃을 클릭하면 홈 페이지로 되돌아갑니다.
그래서 꽤 간단하게 기록하십시오.
우리는 어떤 형태도 필요하지 않습니다.
그것은 하나의 루트 슬래시 로그 아웃이며, 우리가 할 때마다 로그 아웃 요청을합니다.
그리고 그것은 우리를 위해 모든 것을 처리합니다.
그것은 처음부터 로그인을 생성하는 유닛의 여권에서 오는 것입니다.
실제로 메소드 로그 아웃을 작성합니다.
우리는 인증을 작성합니다.
우리는 기록부에 쓸거야.
그러나 지금 여권은 그것을 우리를 위해 매우 쉽게한다.
우리는 비록 내가 로그 아웃하더라도 로그 아웃을 그만 두지 만 문제가 있습니다.
나는 여전히 비밀을 벗겨 낼 수있다.
거기에 도착하는 것을 막을 수있는 방법이 없습니다.
그래서 우리의 코드는 우리가 서명 할 때 우리에게 비밀을 던지라고합니다.
그리고 우리가 다시 원할 때 비록 내가 로그인하지 않더라도 여전히 갈 수 있습니다.
로그 아웃하십시오. 그리고 나는 그것을 고치기 위해 여전히 비밀을 찾아 낼 수 있습니다.
우리가해야 할 일에 미들웨어를 추가 할 필요가 있습니다.
사용자가 로그인했는지 여부를 확인합니다.
그런 다음 사용자가 로그인하지 않은 경우이 템플리트를 렌더링하여 로그온을 슬래시로 재 지정합니다.
우리가하는 방식은 미들웨어를 작성하는 것입니다.
그래서 우리는 아래쪽에 함수를 정의 할 것이고이 함수는 호출 될 것입니다.
그리고 그것은 3 개의 매개 변수 요청 응답과 다음을 필요로합니다.
그리고 이것은 미들웨어 요청에 대한 표준입니다 요청 개체를 말합니다.
응답은 응답 객체입니다.
그리고 다음은 실제로 호출되어야 할 다음 일입니다.
그리고 우리는 단지 잠깐 후에 할 미들웨어로 추가하여 설정하지 않아도됩니다.
Express는이를 처리하고 다음에 호출 할 함수를 알고 있습니다.
그러나 여기서 기능을 정의하는 것으로 시작하겠습니다.
그래서 우리는 패스포트와 함께 제공되는 요청이 인증되었는지 확인하기 위해 로그인 할 것입니다.
인증되었습니다.
그 다음 우리는 조금 이상한보고있는 다음에 돌아갈 예정이다.
그런 다음 다시 돌아올 것입니다.
그렇지 않으면 우리가 할 것이고 우리가 여기로 돌아 오기 때문에 우리는 다른 것을 필요로하지 않습니다.
그래서 우리가 할 일은 redstart 형식의 로그인 로그로 리다이렉트 한 다음, 여기에있는 슬래시 비밀 경로에 미들웨어가 로그인 할 때 추가 할 것입니다.
그리고 우리가 추가해야하는 것은 정말 간단합니다. 바로 여기에 로그인되어 있습니다.
그리고 쉼표.
그래서 이것은 할 일이 있기 전에 요청을 GET 요청에 보내어 비밀을 처리하는 것입니다.
그녀가 할 일이 기록 될 것입니다.
다음으로 돌아가서 다음을 실행하면 인증 요청이 확인됩니다.
그게 여기에있는 괄호입니다.
그리고 다음으로 여기서는이 부분을 참조 할 것입니다.
비밀로하기 전에 사용자가 로그인했는지 확인하고 싶습니다.
다시 이것이 우리가하는 일입니다.
사용자가 로그인 한 경우.
기본적으로 계속.
따라 움직여.
그렇지 않으면 사용자가 인증되지 않은 경우 문제가 발생하며 로그인을 다시 슬래시로 리디렉션합니다.
그리고이 다른 코드는 절대 실행되지 않습니다.
따라서 내부로 리디렉션하면 로그인됩니다.
그리고 이것은 일어나지 않습니다.
이제 서버를 다시 시작해 보겠습니다.
구문 오류가 없는지 확인하십시오.
다시 돌아가서 루트 페이지에서 시작합시다.
내가 로그인하지 않았는지 확인하십시오. 그러면 이제 비밀을 알아 내려고 시도 할 것이고, 자동으로 로그인 할 것입니다.
저거 봐.
이제 비밀번호가있는 로그인 콜트입니다.
비밀번호 로그인을 요청했습니다.
이제 비밀 페이지로 갈 수 있습니다.
이제 루트로 돌아가서 다시 비밀리에 가려고합니다. 로그인했기 때문에 나는 앞뒤로 갈 수 있습니다.
나는 가입하기를 원하는 경로로 가서 비밀로 돌아갈 수 있습니다.
그런데 내가 로그 아웃하자 비밀로 돌아 가려고하면 더 이상 작동하지 않습니다.
그냥 두 번 확인해 보거나 가입하십시오.
Tator라는 새 계정을 만들고 암호도 암호로 만들어 제출하면 새 계정이됩니다.
나는 지금 은밀한 곳을 방문하고 나서 로그 아웃 할 수있다.
그리고 그것은 세션을 파괴하고 더 이상 비밀리에 갈 수 없습니다.
괜찮아.
그래서 우리는이 시리즈에서이 사용자 인증을 만드는 다섯 가지 부분을 많이 다루었습니다.
그리고 이것은 우리가 도와 줄 것이라고 말한 도구를 사용해도됩니다.
분명히 약간의 사업이지만 분명히 가치가 있습니다.
우리가 보게 될 것이고 Yelp가 다음 비디오를 캠프 할 때 우리는 로그인을 추가 할 수 있기 때문에 대부분의 웹 응용 프로그램은 실제로 가지고있는 이점이 있습니다.
로그 벽 뒤에 물건을 두는 것이 아니라 사용자와 실제로 데이터를 연결할 수 있습니다.
지금 로그인하지 않으면 비밀 페이지가 숨겨집니다.
그러나 어떤 캠프도 특정 의견을 실제로 사용자와 연관시킬 수 없으므로 누가 정확하게 의견을 말했는지 확인할 수 있습니다.
그래서 내가 여기서 사인하기 전에 돌아가서 미들웨어 인 가장 중요한 부분에 대해 간단히 정리해 보겠습니다. 로그인 한 것은 우리가 정의한 함수입니다.
그리고 우리는 우리가 원하는 많은 미들웨어를 정의 할 수 있으며, 이들은 모두 응답과 다음 기능을 요청하는 세 가지 매개 변수를 취합니다.
그리고 나서 다음 미들웨어로 넘어 가기를 원한다면 다음으로 호출하면됩니다.
그냥 그렇게.
그리고 우리의 경우에 false가 반환되는 요청이 인증되지 않으면 상황이 좋지 않으면 단락 회로와 같은 방향으로 리다이렉트합니다.
괜찮아.
바라건대 사용자 인증에 대해 배우는 것이 즐겁기를 바랍니다.