ASP.NET Core 앱에서 새로 고침 토큰 사용

보안과 사용자 경험은 애플리케이션 개발의 두 가지 기본적인 측면입니다. ASP.NET Core 애플리케이션에서 새로 고침 토큰을 사용하는 이유와 방법을 알아보세요.






보안과 사용자 경험은 애플리케이션 개발의 두 가지 기본적인 측면입니다. 그것들을 결합하는 것이 항상 쉬운 것은 아니지만 둘 사이에 좋은 균형을 이룰 수 있는 기술이 있습니다. 한 가지 예는 새로 고침 토큰을 사용하는 것입니다. 새로 고침 토큰은 애플리케이션이 사용자 경험을 손상시키지 않고 API를 호출할 때 보안을 제공합니다.
API를 호출하는 ASP.NET Core 애플리케이션에서 새로 고침 토큰을 관리하는 방법을 살펴봄으로써 새로 고침 토큰이 이러한 균형을 달성하는 데 어떻게 도움이 되는지 알아보세요.

새로 고침 토큰의 필요성



액세스 토큰은 애플리케이션이 보호된 API를 호출할 수 있는 권한을 부여합니다. 다음 예와 같이 HTTP 요청에서 베어러 토큰으로 사용합니다.

GET /resource HTTP/1.1
Host: server.example.com
Authorization: Bearer mF_9.B5f-4.1JqM


Make sure to use access tokens to call APIs. Don't be tempted to use ID tokens for this purpose. Check out this article to learn more about the difference between ID and access tokens.



전달자 토큰이 된다는 것은 토큰을 소유한 사람은 누구든지 토큰을 사용하여 예를 들어 API 호출과 같은 리소스에 액세스할 수 있는 권한이 있음을 입증할 수 있음을 의미합니다.

액세스 토큰이 잘못된 손에 들어가는 것을 방지하려면 HTTPS를 사용하여 공격자가 토큰을 가로채는 것을 방지하는 등의 몇 가지 전략을 적용해야 합니다avoid storing it in easily accessible storage.

수명이 짧은 액세스 토큰을 만드는 것은 손상 위험을 줄이는 데 기여할 수 있는 전략 중 하나입니다. 액세스 토큰이 곧 만료되면 공격자가 여전히 유효한 토큰을 훔칠 수 있는 가능성이 줄어듭니다. Auth0을 사용하면 set your access token's lifetime through the dashboard .

굉장하다! 그러나 사용자가 애플리케이션을 사용하는 동안 액세스 토큰이 만료되면 어떻게 될까요? Auth0은 로그인 시 액세스 토큰을 발급합니다. 따라서 사용자는 새로운 유효한 액세스 토큰을 얻기 위해 다시 인증해야 합니다. 분명히 이것은 훌륭한 사용자 경험이 아닙니다.

Refresh tokens 이 상황을 해결하기 위해 현장에 입장하십시오. 사용자에게 다시 로그인하도록 요청하지 않고도 응용 프로그램이 새 액세스 토큰을 얻을 수 있도록 하는 특수 토큰입니다. 높은 수준에서 작동하는 방법은 다음과 같습니다.
  • 로그인 시 애플리케이션이 ID 및 액세스 토큰과 함께 새로 고침 토큰을 요청합니다.
  • 응용 프로그램이 API를 호출해야 하고 액세스 토큰이 만료되었음을 확인하면 새로 고침 토큰을 전송하여 Auth0에 새 액세스 토큰을 요청합니다.
  • Auth0은 응용 프로그램에 새 액세스 토큰과 새 새로 고침 토큰을 보냅니다.
  • 애플리케이션은 새 액세스 토큰을 사용하여 API를 호출하고 이 새 액세스 토큰이 만료되면 새 새로 고침 토큰을 사용합니다. 새 갱신 토큰을 제공하면 replay attacks 의 위험을 완화하는 데 도움이 됩니다.

  • To learn more about refresh tokens and how they work, check out this article.



    이제 새로 고침 토큰과 이를 사용해야 하는 이유에 대해 높은 수준으로 이해했습니다. 그러나 ASP.NET Core 애플리케이션에서 실제로 어떻게 사용할 수 있습니까? 여행을 시작합시다.

    Read more...

    좋은 웹페이지 즐겨찾기