정의

OpenID Connect는 OAuth 2.0 프로토콜을 사용하여 빌드된 개방형 표준 및 단순 ID 프로토콜입니다.

이렇게 하면 클라이언트 애플리케이션은 OpenID Connect 제공자(OP)가 사용자의 ID를 검증하기 위해 수행하는 인증을 신뢰할 수 있습니다.

OpenID Connect는 인증 및 권한 부여에 OAuth 2.0을 사용하고 사용자를 고유하게 식별하는 ID를 빌드합니다.

 

기능 

OAuth는 유저 인증을 곧바로 제공하지 않지만 권한 부여를 위한 엑세스 토큰을 제공한다.

OpenID Connect는 권한부여 서버에 의해 작동하는 인증 시스템을 기반으로 클라이언트가 사용자를 판단할 수 있게 해준다.

권한부여 서버에 유저 로그인과 동의를 요청할 때, openid라는 스코프를 정의하면 OpenID Connect 사용이 가능하다. 

openid는 OpenID가 필요되는 권한부여 서버에 필수적인 스코프이다.

 

 

장점

OpenID의 장점은 디지털 정체성과 사용자 활동 일관성에 있습니다.

우선 웹 사이트마다 사용자 계정명이 달라지는 일이 줄어들고, 글을 쓰고 댓글을 달고 별점을 매기는 등 온라인 활동이 한 계정으로 이루어지므로 인터넷 사용자의 고유 식별이 가능해집니다.

 

OAuth와의 차이

  • OAuth 2.0은 권한 부여를 위한 것이다.
  • OpenID Connect는 인증을 위한 것이다.

아마 '권한 부여'와 '인증'이 헷갈릴 수 있는데, 차이점은 다음과 같다.

  • 인증(Authentication)은 내가 소통하는 주체가 어떤 것인지 확신하는 것이다.
  • 권한 부여(Authorization)는 소통하는 주체가 리소스에 접근할 수 있는지 아닌지에 대해 확인하는 프로세스이다.

authentication(인증)은 당신이 누구인지에 대한 것이고, authorization(권한 부여)은 당신이 어떤 권한을 가졌는지에 대한 것이다.


참조 : 

https://www.ibm.com/docs/ko/sva/9.0.7?topic=methods-openid-connect-oidc-authentication 

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

https://d2.naver.com/helloworld/24942

 

 

'개발합시다. > BackEnd 공부' 카테고리의 다른 글

Spring과 Spring Boot의 차이점  (0) 2021.09.02
서버 사이드 렌더링 (SSR) & 클라이언트 사이드 렌더링 (CSR)  (0) 2021.09.01
JWT란??  (0) 2021.08.31
OAuth가 대체 뭘까?  (0) 2021.08.30
Spring HATEOAS 란?  (0) 2021.08.30

+ Recent posts