라벨이 Ruby인 게시물 표시

[ 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) 세부 설명에 조금 차이가 있어 보이지만 전체적인 틀은 매우 비슷해 보인다.  몇 가지 포인트가 되는 단어를 추출해 이를 연결해보자면 아래와 같은 의미를 산출 할 수 있다. 독립적이지만 연관되어 있

[ Ruby ] 30분만에 대충 살펴보는 Ruby의 기본 ①

이미지
Ruby에 대해 알아보기 전에 우선  https://try.ruby-lang.org/ 에서 제공하는 튜토리얼을 먼저 진행하고자 한다. 제목에서는 무려 30분만에  Ruby를 익힐 수 있다는 것 같은데  속는 셈 치고 먼저 해보려고 한다. 관행적으로 프로그래밍 언어를 배울 때 가장 먼저 해야만 하는 것은 바로 출력일 것이다. print야 너무나도 익숙하기 때문에 넘어가도 된다고 생각한다. 눈여겨봐야 하는 것은 빨간색 박스 이다. 화면에 Welcome이 3번 표시되는 것을 보면 do ~ end 는 시행 구문인것으로 알 수 있으며 3 . times 는 반복 구문 인것을 알 수 있다. 역시 절차지향형 패러다임과  객체지향형 패러다임이 섞인 언어 답게 굉장히 간결하다. 정수형 값도 사람이 쉽게 알 수 있게 매우 간결하게 표현할 수 있다. 여기서 부터 조금 재미있어진다. 입력은 3개를 했지만, 결과는 빨간색 박스 의 값만 출력 되었다. 이게 무슨일일까? 그럼 이제 Ruby의 변명을 들어보자. Ruby의 변명에 따르면  Ruby는 기본적으로 두 개 이상의 수식이 입력되면 마지막 수식만 출력 되도록 설정 되어 있다고 한다. 만약 수식을 출력하고 싶다면 puts 함수를 사용 하면 제어할 수 있다. 위와 같이  수식 앞에 puts 를 사용하면 수식이 모두 출력됨 을 할 수 있다. 문자형 표현 방법도 "" 로 매우 간결하다. 기본적으로 String 자료형 을 가지는듯 하다. 함수, 메소드 호출도 크게 다를바는 없다 . Good도 역으로 표시하는 걸 보면  이 튜토리얼을 작성한 사람은  위트라는걸 아는 사람인 것 같다. 이번엔 문자열의 길이를 출력 해주는  length 메소드 이다. 문자열에 정수 값을 곱하면  정수 값 만큼 늘어난다. 문자열이 아니라 정수형 타입 에  reverse 메소드를 사용하면 정의되어있지 않은 메소드라며 에러가 난다. 그렇다면 다음은 정수형을 반대로 할 수 있는 함수가  나올 것으로 예상 된다. 내 예상이 틀리지 않았음이 증명되었다. t