Angular를 사용하여 JWT를 인증하는 방법NET 코어 C#API(OpenAPI/Swagger)에서 NSwag 유형 스크립트 사용

이 설명서는 OpenAPI 사양을 ASP에 자동으로 추가하는 방법NSwag에 대해 설명합니다.NET 코어 REST-API그것은 또한 브라우저를 위해 시장을 뒤흔드는 사용자 인터페이스를 제공했다.NSwag Studio를 사용하여 TypeScript 클라이언트를 생성하고 Angular 애플리케이션에 강력한 유형의 클라이언트를 추가합니다.마지막으로 JWT 탑재 토큰을 통해 백엔드를 인증합니다.
워크플로우 및 관련 구성 요소:

이 설명서의 배경 및 구조


내가 이런 작업 흐름을 만들고 싶을 때, 나는 일부 설명을 발견했는데, 그 중에서 일부 내용을 보여 주었다.이 가이드는 각 부분을 한데 결합시킨다.
이 설명서는 중요한 부분에 중점을 두고 있습니다.자세한 정보를 얻고 도구를 다운로드할 수 있도록 다른 글에 링크할 것입니다.나는 Visual Studio Community를 ASP로 사용한다.NET 코어 3.1 개발.
이 안내서는 나의 이전 글의 환경을 사용했다.ASP를 사용하면 각도 항목에 쉽게 적용할 수 있습니다.NET 핵심 백엔드

컨텐트

  • NSwag은 ASP에서 사용됩니다.NET Core 백엔드
  • NSwag Studio
  • 를 사용하여 TypeScript 클라이언트 생성
  • Angular
  • 를 통해 API 검증 및 액세스
  • 마지막 생각과 전망
  • 1. ASP에서 NSwag을 사용합니다.네트워크 코어 백엔드


    Visual Studio 패키지 관리자를 사용하여 API 프로젝트에 NSwag 중간부품을 설치합니다.
    NSwag 패키지를 설치합니다.AspNetCore
    편집 시작cs(18, 34, 35줄) 및 NSwag를 구성하여 Swagger UI 및 OpenAPI 사양을 만듭니다.

    브라우저에서 결과 테스트


    API 프로젝트를 시작하고 브라우저에서 Swigger UI를 엽니다.내 프로젝트에서 이것은https://localhost:5002/swagger:



    API가 좀 지루해요.인증 테스트에만 사용되기 때문에 매개 변수도 반환값도 없습니다


    OpenAPI 사양 로드


    OpenAPI 사양에 액세스할 수도 있습니다(NSwag Studio의 다음 단계에는 URL이 필요합니다):



    이 가이드의 이 단계와 다음 단계를 더 읽습니다. Using NSwag to Generate Angular Client for an ASP.NET Core 3 API 저자 Eric Anderson




    2. NSwag Studio를 사용하여 TypeScript 클라이언트 생성


    Download NSwag Studio 및 설치


    NSwag Studio를 시작하고 이 설명서의 이전 단계에서 사양 URL(e.q."https://localhost:5002/swagger/v1/swagger.json을 입력합니다.출력으로 TypeScript 클라이언트 선택:



    Make sure your API project from the previous step is running. NSwag Studio needs to access the OpenAPI sepcification.


    "Angular"템플릿을 선택하고 "기본 클래스 이름"으로 "ApiBase"를 추가:



    나중에 기본 클래스에 인증 헤더를 추가할 수 있도록 "transformOptions"를 선택하십시오:



    파일 apibase를 만듭니다.ts(예: C:\dev\apibase.ts)이 코드는 인증 헤더를 설정합니다.ApiBase는 NSwag에서 생성할 파일의 기본 클래스입니다.





    다음에apibase를 설정합니다.ts를 NSwag Studio의 확장 코드 파일로 사용:



    "출력 생성"단추를 누르고 출력 복사:





    3. Authenticate and Access the API from Angular


    파일 만들기api.이 가이드의 마지막 출력을 붙여넣기:





    프로그램에서 생성된 코드를 사용합니다.구성 요소ts 액세스 API파일 가져오기(4행) 및 API 호출(24-26행):





    Start the app



    c:\dev>ng serve
    

    디버거와 크롬 브라우저의 로그에 로그인하여 백엔드의 호출과 인증이 유효한지 확인합니다:





    4. Final Thoughts and Outlook


    NSwag을 사용하여 API에 OpenAPI/Swagger 사양을 자동으로 생성합니다.그리고 NSwag Studio에서 TypeScript 클라이언트를 만들었습니다. Angular에서 이 클라이언트를 사용했습니다


    이 프로그램이 전면적으로 실행 중입니다!이것은 예시 프로그램일 뿐입니다. 코드를 정리하고 각도와 각도를 사용해야 합니다.NET 핵심 설계 모드, 오류 처리 등을 통해 프로덕션에서 사용할 수 있습니다


    로그아웃과 시간 초과를 처리해야 합니다.인증이 필요 없는 API 경로가 필요할 수도 있습니다. NSwag 명령줄 도구를 사용하여 파이프를 자동화할 수 있습니다


    내 후속 이야기 참조:


    질문, 생각 또는 건의가 있으면 저에게 연락하세요

    좋은 웹페이지 즐겨찾기