스택큐힙리스트

OAuth 기반 인증과 토큰 기반 인증의 차이점은 무엇인가요? 본문

카테고리 없음

OAuth 기반 인증과 토큰 기반 인증의 차이점은 무엇인가요?

스택큐힙리스트 2023. 12. 2. 23:43
반응형

OAuth는 기본적으로 토큰 기반 인증 사양이라고 생각했지만 대부분의 경우 프레임워크는 그들 간에 차이가 있다는 것처럼 작동합니다. 예를 들어 아래 그림에서 볼 수 있듯이, Jhipster는 OAuth 기반 또는 토큰 기반 인증을 사용할지 여부를 묻습니다.


이들은 같은 것이 아닌가요? 구현에 토큰이 포함되어 있기 때문에 정확히 어떤 차이가 있는 건가요?


이미지

답변 1


  • 토큰이 사용자에 의해 조작되지 않았음을 알기 위해 토큰을 암호화적으로 서명하십시오.

  • 콘텐츠를 일반 텍스트로 읽을 수 없도록 토큰을 암호화하십시오.

  • JSON 데이터를 토큰 문자열 내에 표준 방식으로 삽입하십시오.


이제 대부분의 사람들이 개발 커뮤니티에서 동의하는 바는 OAuth를 사용한다면 사용하는 토큰은 JSON 웹 토큰이어야 한다는 것입니다.


좋아요! 배경 이야기를 다뤘으니, 이제 질문에 대답해 보겠습니다.


위에서 선택하는 내용은 인증/권한 부여를 위해 전체 OAuth2 사양을 활성화할지 여부를 결정하는 것입니다(이는 꽤 복잡합니다). 또는 단순히 일부 기본적인 '토큰 인증'을 원하는지 여부입니다.


OAuth 프로토콜은 다양한 방식으로 표준 준수 방식으로 인증하는 방법을 제공하기 때문에 대부분의 인증 시스템에 복잡성을 추가합니다.

이로 인해 많은 프레임워크가 OAuth2 Password Grant 플로우의 '더불어' 버전을 제공하는데, 이는 다음과 같은 간단한 방법입니다:



  • 사용자가 사용자 이름/비밀번호를 /login과 같은 URL로 서버에 전송합니다.

  • 서버가 해당 사용자를 위해 JWT 토큰을 생성합니다.

  • 서버가 해당 토큰을 사용자에게 반환합니다.

  • 사용자는 이 토큰을 쿠키, 모바일 장치 또는 가능한 API 서버에 저장하여 요청에 사용합니다.


다시 말씀드리지만, 위의 플로우는 OAuth 기준을 준수하지 않지만, 여전히 토큰을 사용합니다.


주요 포인트는 토큰 (JWT)이 일반적으로 유용하며, OAuth 플로우와 결부될 필요가 없다는 것입니다.


텍스트가 많다는 것을 알지만, 좀 더 깊은 수준으로 당신의 질문에 대답하는 데 도움이 되길 바랍니다. =)

답변 2

OAuth 기반 및 토큰 기반 인증의 차이점은 무엇인가요?
OAuth 기반 및 토큰 기반 인증은 모두 사용자를 인증하고 인가하는 데 사용되는 기술이지만, 두 가지 방식 사이에는 몇 가지 주요 차이점이 있습니다. 먼저, OAuth는 특허 요청에 대한 접근 권한을 위임하고 제어하는 프로토콜인 반면, 토큰 기반 인증은 식별 정보의 한 형태인 토큰을 사용하여 인증을 수행하는 방식입니다.
OAuth 기반 인증은 다른 애플리케이션 또는 서비스에 대한 접근 권한을 안전하게 위임하기 위해 사용됩니다. 이는 사용자가 자신의 로그인 정보를 제3자 서비스에 공유하지 않고도 제3자 애플리케이션에 대한 접근을 허용할 수 있게 합니다. 이를 위해 OAuth 인증 흐름에서 사용자는 접근 권한을 요청하는 애플리케이션으로 리디렉션됩니다. 사용자가 해당 애플리케이션에 로그인하면, 접근 토큰이 발급되고 이를 통해 제3자 애플리케이션에 접근 권한이 부여됩니다.
토큰 기반 인증은 단일 애플리케이션 내에서 사용자를 인증하는 데 사용됩니다. 이 방식에서 사용자는 로그인 후에 일련의 신원 확인 단계를 거치고, 인증된 토큰을 받게 됩니다. 이 토큰은 클라이언트와 서버 간의 모든 통신에서 사용되며, 사용자 식별을 위한 인증 수단으로 작용합니다. 이러한 토큰은 제한된 유효 기간을 가지며, 만료되면 재발급해야 합니다.
두 가지 인증 방식 모두 일부 중요한 이점을 가지고 있습니다. OAuth를 사용하면 사용자가 로그인 정보를 안전하게 공유하지 않으면서 다른 애플리케이션에 접근 권한을 부여할 수 있습니다. 이는 사용자의 개인 정보 보호를 강화하고 다양한 애플리케이션 사이의 통합을 간소화하는 데 도움이 됩니다. 반면, 토큰 기반 인증은 간편하게 사용자를 인증하고 애플리케이션 간의 통신을 facility할 수 있는 유용한 방법입니다.
결론적으로, OAuth 기반 및 토큰 기반 인증은 목적과 환경에 따라 선택해야 하는 다른 방식입니다. OAuth는 다른 애플리케이션 간의 접근 권한을 위임하고 제어하는 데 사용되며, 토큰 기반 인증은 애플리케이션 내에서 사용자를 인증하는 데 사용됩니다. 어떤 방식을 선택하든, 보안과 편의를 모두 고려하여 최적의 인증 솔루션을 선택해야 합니다.

반응형
Comments