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
- 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이 발행됨 - 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
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
OpenID(OIDC) 개념과 동작원리
등장배경 이전에는 사용자 데이터를 서비스에서 직접 관리하는 경우가 대다수였다. 하지만 해킹, 피싱등으로 인한 개인정보 유출 사건이 끊임없이 발생하자, 서비스에서 직접 사용자 데이터를
hudi.blog
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 |