본문 바로가기
CS/WEB

OpenID, OIDC(OpenID Connect)란?

by eungineer 2022. 10. 24.

OpenID, OIDC(OpenID Connect)

개념

  • 비영리기관인 OpenID Foundation에서 추진하는 개방형 표준 및 분산 인증 프로토콜
  • OpenID 1.0 -> OpenID 2.0 -> OpenID Connect 순서로 발전
  • OpenID 1.0과 2.0은 더 이상 사용하지 않는 사양으로 명시됨
  • 인증(Authentication) 자체에 목적
  • OpenID를 제공하는 웹사이트에서 사용자는 모두 각자 계정을 만들고 관리할 필요없이 자신이 신뢰하는 OpenID 서비스 제공자(구글, 카카오 등)가 제공하는 OpenID 인증 서비스 하나만을 이용하여 인증
  • OAuth 2.0을 기반으로 한 통합 인증 시스템 및 프로토콜
  • OAuth 2.0의 위에 추가되는 Layer로, OAuth 2.0과 함께 사용되어 사용자의 정보를 인증하고 안전히 관리하며 권한 부여
  • 사용자의 ID를 인증하기 위해 ID Token(사용자 정보에 접근하기 위한 토큰) 개념 사용

Flow

  1. Client가 사용자의 정보를 받아오기 위해 Authorization Server에 Authorization Code, Client ID, Client Secret(암호) 전송
    - Client는 Authorization Endpoint에 전송하는 Request Parameter에 response_type을 반드시 명시해야 함
    - response_type은 code 혹은 token 타입 지정 가능, OIDC에서는 id_token 타입으로 지정, scope를 openid로 설정해야 ID Token이 발행됨
  2. Authorization Server는 Client에게 권한 부여를 위한 Access Token과 사용자 인증을 위한 ID Token 전송

OIDC Token

  • End-User들에 대한 세부적인 정보가 저장되어 있는 토큰으로, 인증에 사용됨
  • JWT 형태로 구현됨
  • Header, Payload, Signature가 함께 인코딩되어 클라이언트에 전달됨(사용자 정보는 Payload에 저장)
  • 클라이언트가 더 많은 정보를 필요로 할 경우, Request 시, scope Parameter에 더 많은 정보 Claim 가능

[참고자료]

https://yeonyeon.tistory.com/264

 

OAuth vs OpenID

예제로 자주 등장하는 `줍줍`은 현재 진행되고 있는 프로젝트 명으로 슬랙 메시지를 백업해주는 서비스입니다. 이 글을 읽기 전에 인증과 인가의 차이를 알고 있다면 훨씬 이해하기 편합니다.

yeonyeon.tistory.com

https://dad-rock.tistory.com/855

 

[Security] OIDC (OpenID Connect)

OIDC (OpenID Connect) - OAuth 2.0을 기반으로 한 통합 인증 시스템 및 프로토콜이다. - OIDC는 OAuth 2.0의 위에 추가되는 Layer로, OAuth 2.0과 함께 사용되어 사용자의 정보를 인증하고 안전히 관리하며 권한..

dad-rock.tistory.com

https://6991httam.medium.com/oauth%EB%9E%80-%EA%B7%B8%EB%A6%AC%EA%B3%A0-openid-8c46a65616e6

 

OAuth 그리고 OpenID Connect

OpenID는 인증(Authentication) 자체에 목적을 두고 있는 반면 OAuth는 인증 후 리소스 또는 API를 사용할 권한을 갖는 다는 것에 목적이 있다. 즉, 허가(Authorization)의 목적이라는 것이다.

6991httam.medium.com

https://cookiethecat2020.blogspot.com/2021/01/oauth-20-openid-connect.html

 

OAuth 2.0 와 OpenID Connect 프로토콜 쉽게 이해하기

OAuth 2.0 와 OpenID Connect 프로토콜 쉽게 설명해주는 강의 소개 및 요약 #oauth #openid

cookiethecat2020.blogspot.com

https://points.tistory.com/95

 

OIDC(OpenID Connect)와 OAuth 2.0

OAuth 제작한 서비스를 다른 사람도 이용할 수 있게 권한을 인가(Authorization)하려면 어떻게 해야할까요? 다양한 방법들이 떠오를 것입니다. 실제로 많은 회사들이 서로 다른 인가(Authorization) 방법

points.tistory.com

https://learn.microsoft.com/ko-kr/azure/active-directory/develop/v2-protocols-oidc

 

Microsoft ID 플랫폼의 OIDC(OpenID Connect) - Microsoft Entra

OAuth 2.0에 대한 OpenID Connect 확장의 Microsoft ID 플랫폼 구현을 사용하여 Azure AD 사용자를 로그인합니다.

learn.microsoft.com

https://hudi.blog/open-id/

 

OpenID(OIDC) 개념과 동작원리

등장배경 이전에는 사용자 데이터를 서비스에서 직접 관리하는 경우가 대다수였다. 하지만 해킹, 피싱등으로 인한 개인정보 유출 사건이 끊임없이 발생하자, 서비스에서 직접 사용자 데이터를

hudi.blog

https://velog.io/@jakeseo_me/Oauth-2.0%EA%B3%BC-OpenID-Connect-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EC%A0%95%EB%A6%AC

 

Oauth 2.0과 OpenID Connect 프로토콜 정리

https://medium.com/better-programming/the-complete-guide-to-oauth-2-0-and-openid-connect-protocols-35ebc1cbc11a 이 글을 번역한 내용입니다.인증과 권한 관리를 위해 가장 널

velog.io

https://ko.wikipedia.org/wiki/%EC%98%A4%ED%94%88%EC%95%84%EC%9D%B4%EB%94%94

 

오픈아이디 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 오픈아이디(OpenID)는 비영리 재단인 OpenID 재단(OpenID Foundation)에서 관리하는 인증 수단이다. 오픈아이디는 분산형 디지털 정체성 시스템으로 모든 사용자들의 온

ko.wikipedia.org

 

'CS > WEB' 카테고리의 다른 글

URL vs URI vs URN  (0) 2022.10.24
SSO(Single Sign-On)란?  (0) 2022.10.24
Authentication(인증) vs Authorization (인가)  (0) 2022.10.24
OAuth란? (OAuth2.0)  (0) 2022.10.24
쿠키(Cookie), 세션(Session), 토큰(Token) 인증  (0) 2022.10.17