[ Architecture, Technology ,Web ] SSO(Single Sign On) 그리고 SAML에 대해

이미지
이번 프로젝트 내부에서 어쩌다보니  유저 인증 관련 업무를 담당하게 되었고, 해야하는 업무는 내부에 사용했던 적이 없던  새로운 개발 플랫폼에서  SSO의 프로토콜 중  SAML을 이용해 앱의 인증을 구현해야만 했다. SSO를 생각해본적 조차 없는 상황에 이를 새로운 개발 플랫폼에 도입해야 했기 때문에 많은 시행착오를 겪었으나 구현에 성공하였으며 덕분에 SSO에 대한 전반적인 지식을 쌓을 수 있었다. 이번에는 그러한 과정에서 나온 지식들과 경험을  공유하고자 한다. SSO에 대한 정의 먼저 사전적 정의 부터 살펴보자. 다만, 기술적인 용어다보니 자주 사용하는 옥스포드 사전에 정의를 찾을 수 없기 때문에  검색으로 찾을 수 있는 정의를 몇 가지 살펴보고 교차 검증을 해보자. 첫 번째 정의를 살펴보자. Single sign-on (SSO) is an identification method that enables users to log in to multiple applications and websites with one set of credentials.  SSO는 웹사이트에서 한 번의 인증(one set of credentials)으로 복수의 어플리케이션에 로그인 할 수 있는 인증(identification) 방법(method) 이다. 두 번째는 위키피디아의 정의이다. Single sign-on (SSO) is an authentication scheme that allows a user to log in with a single ID to any of several related, yet independent, software systems. SSO는 독립적이지만 연관되어있는 몇몇 소프트웨어에 대해 하나의 ID로 로그인을 할 수 있도록 하는 인증 구조(scheme) 세부 설명에 조금 차이가 있어 보이지만 전체적인 틀은 매우 비슷해 보인다.  몇 가지 포인트가 되는 단어를 추출해 이를 연결해보자면 아래와 같은 의미를 산출 할 수 있다. 독립적이지만 연관되어 있

[ 프로젝트 BEP ] 제 4장 : 프로그래밍 언어 - 들어가면서


기획 했던 프로젝트 BEP도 이제 4장을 끝내면 
단 하나의 5장만을 마지막으로 남겨두게 된다.

이제 일반적인 개발자들의 영역인 언어의 이야기를 할 차례가 왔다.

개발자로서 프로그래밍 언어는 가장 큰 부분을 차지한다.

물론 좀 더 위로 갈 수록 
이 언어의 점유율이 점차 줄어들기는 하지만 말이다.

어쨋든 이번 4장에서 이야기할 언어에 대한 이야기는
Java, C 계열, Python 등의 
언어의 사용법에 대한 이야기는 하지 않을 것이다. 

왜냐하면 학문적으로 언어에서 이야기할 때에는
프로그래밍 언어의 역사에 대해 이야기를 하기 때문이며,
이런 역사의 각 패러다임을 분류하기 때문이기도 하며

또한 언어의 사용법에 대해서는 여기서 언급하지 않아도
구글링하면 얼마든지 찾을 수 있기 때문이다.

따라서 이번 4장에서의 목표는
언어의 역사를 살펴보면서 각 패러다임에 대한
지식과 나의 직감을 전달하는 것을 목표로 한다.

아마 주된 내용은 
구조적 프로그래밍과 객체지향 프로그래밍에 대해 
그리고 이를 섞은 혼합형 프로그래밍에 대해 
이야기를 하게 될 것이라고 생각 한다.

본격적인 이야기를 하기 앞서서
왜 프로그래밍 언어를 배우는 것이 어려운지에 대해 
이야기를 하고 넘어가자.




2020.09.30 제 4장 프로그래밍 언어 시작






이 블로그의 인기 게시물

[ Web ] 웹 애플리케이션 아키텍처 (Web Application Architecture)

[ Web ] 서버 사이드(Sever Side) ? 클라이언트 사이드(Client Side)? 1 [서론, 클라이언트 사이드(Client Side)]

[ Web ] 웹 애플리케이션 서버 아키텍처의 정의 및 유형 ( Define and Types of Web Application Server Architecture )