[ 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, Essay - Developer ] 논의① : 개발자에게 학위 또는 학벌은 필요한가?(Developer need a degree or academic background?)

이미지
이전 글에서도 언급했듯이, 몇 가지 논의를 하고 넘어갈 예정이다. 일단 첫 번째로 「개발자에게 학사 학위는 필요한가?」에 대한 논의, 물론 석사, 박사는 논외로 하겠다. 석,박사는 개발자보다는 연구직이 어울린다. 그리고 두 번째로 「개발자에게 수학은 필요한가?」에 대한 논의, 그리고 세 번째로 「개발자란 무엇인가?」에 대한 논의만 하고 넘어가려고 생각하고 있다. 물론 이후에 논의가 추가될지는 모르겠다. 이번 글은 이에 대한 첫번째 논의로 「개발자에게 학사 학위는 필요한가?」 에 대한 논의부터 시작하자. 사실 이번 주제는 내가 예전부터 고민하던 문제이기도 하다. 그 주제는 「현대인(2010년쯤 시점)에게 학사 학위는 필요한가?」에 대한, 정확히는 「살아가는데 대학의 학사 학위는 의미가 있는가? 혹은 필요한가?」 에 대한 고민이였다. 그리고 '여러가지 의미에서 의미가 있다 혹은 필요하다' 고 결론을 내렸다. 물론, 절대적으로 필요하다는 의미가 아니다. 좀 더 자신의 삶을 가치있게 하기 위해서, 여러적인 이유에서 필요하다는 결론을 내렸다. (경제적인 이유가 아니다) 따라서 나는 내가 아이를 가진다면, 나는 가급적 내 노후자금을 포기 해서라도 대학에 보낼 생각이다. 이야기가 좀 다른대로 갔는데, 어쨋든 다시 원래 이야기로 돌아오면, 동일하게 「개발자에게 학사 학위는 필요한가?」 에 대한 결론으로 비슷하게 '있으면 좋다' 라고 결론을 내렸다. 그에 대한 이야기는 앞서 천천히 이야기 하도록 하자. 일단 나는 대학생 때, 학기당 최대 학점이 조금 비어있다면, 몇 개씩 경제학 강의를 들었는데 거기서 나온 이야기 부터 시작해보자. 소득 불평등의 원인은 「교육」 내가 들었던 경제학 강의 중 가장 인상 깊었고, 배우고, 공부하면서 재미있었던 강의들은 「소득 분배론」 이라는 강의와  「근대 경제사」 강의였다. 여기서 이야기 하려는 것은 「소득 분배론」

[ 프로젝트 BEP ] 들어가면서

이미지
요새 일하면서 뭔가 신입으로 들어오고자 하는 사람 혹은 이쪽에 관심을 가지는 사람들이 많아지기 시작했다. 내가 그렇게 느낄수 밖에 없는 것이 과거보다 신입 입사자가 눈에 띌정도로 많이 들어오기 때문이기도 하고, 인터넷 커뮤니티에서 개발자에 대한 인식이 몇 년 사이에 긍정적으로 변했기 때문이다. 아마 구글의 바둑을 두는 머신러닝을 세계에 선보이면서, 4차 산업 혁명이 빠르게 진행되고 시점이기 때문이라고 나는 생각하고 있다. 개발자 입장에서는 당연히 환영할 일이다. 투자를 받는 다는 것은 내가 할 일이 많아지고, 나의 가치는 원래의 가치보다 더욱 높게 평가 받을테니 말이다. 하지만,보통 IT업계는 모르는 사람이 보면 마치 천재들이 하는것 처럼 보이기 때문에, 즉, 너무 어려워보이기 때문에 자발적으로 이쪽에 오고자 하는 사람은 흔치 않다. 믈론 어려운것은 사실이지만, 프로그래밍 언어는 실제 언어와 똑같다고 생각해본다면 당연한 것이다. 왜냐하면 프로그래밍 언어는 사실 컴퓨터와 대화식으로 작성하기 때문이다. 따라서 IT업계에 들어오는 사람은 전공이기 때문에, 급료가 높아서 등등의 이유로 사람들이 진입해 쓴 맛을 맛보고 퇴사하는 사람들도 많다. 이런 사람들도 많이 있기에 과거 부터 그 중에 좋은 신입을 채용하기 위해, 많은 회사에서 고민을 해왔다. 하지만, 지금은 이런 문제가 아니라 전체적으로 IT쪽으로 취업하려는 사람의 수가 늘었다. 위에서 잠깐 언급했다시피, 아마 내 생각에는 4차산업 혁명이 언론에 많이 언급되면서, 'IT쪽이 유망하다! '라는 생각에서 오는 것일지 아닐지는 잘 모르겠다. 어쨋든, 정말 자발적으로 온 친구들은 문제가 안된다. 왜냐하면, 자발적으로 온 친구들은 대개 코딩을 좋아하는 친구들이기 때문에 그런 친구들은 몇 가지만 알려주면 스스로 하는 경향이 있고, 알려줄 것은 몇 개 없다. 오히려 자주 터치하는 것은 좋지 않을 수 있다.

[ 생각 ] 현대 교육을 통해 나오는 '우수한 인간'과 사회가 원하는 '우수한 인간'에 대해

이미지
이번에는 현대 교육과 사회가 원하는 '우수한 인간'에 대해 이야기를 해보자. 주제는 현대 교육으로부터 출발했지만, 시작하다 보니 우수한 인간까지 가버렸다. 따라서 현대 교육에 대해 이야기 하면서, '창의력'이라는 특성에 대해 이야기하고, 이런 특성을 어떻게 하면 얻을 수 있을까에 대해 이야기를 해보려고 한다. 최근에 밀의 책을 주로 읽었으니 이런 주제에 대해, 밀의 생각을 조금 빌려올지도 모르겠다. 어쨋든 기존 교육방법이 현재(2020년)에 맞지 않는 느낌이 드는 것은 한국만이 아닌듯 싶다. 왜냐하면, 사회가 급속도로 발전한 만큼, 변화라는 거대한 파도는 그에 비례해서 주기가 빠르게 변했다. 따라서 그 만큼, 사회에서 원하는 인재상도 빠르게 바뀌었다. 하지만, 현대 교육, 그러니깐 세계의 대부분 교육방법은 지식을 단지 쑤셔넣기에 집중하는 것에 크게 벗어나지 못했다. 이렇게 지식을 쑤셔넣어, 누가누가 얼마나 잘 쑤셔넣었는지 대결이라도 하듯이 테스트를 보고, 그에 따른 점수를 부여 받는다. 이런 점수에 따라 교육을 받는 아이들은 평가 받게되며, 교육을 훌륭하게 받은 아이, 교육을 훌륭하게 받지 못한 아이로 분류 된다. 현대 교육은 이런 시험 점수를 통해  객관적인 평가를 내리며, (물론 그것이 정말로 객관적인지는 생각해볼 법 하다) 현대 교육 완수자들은 이런 객관적인 평가를 가지고 사회에 내보내지게 된다. 하지만 사회가 급속도로 발전하면서, 사회가 원하는 인간은 흔히 '창의력' 있는 인간으로 빠르게 바뀌었다. 왜냐하면  첫 번째로, 빠르게 그리고 더 많이 더 다양하게  공산품을 생산 해야 하는 2차 산업에서  서비스 위주의 3차 산업으로  고부가가치가 변했기 때문이다. 2차 산업에 필요한 것은  다량의 공산품을 정해진 규칙에 맞게  생산하기 위한 교육,  즉 정해진 시간에 학교(혹은 직장)로 등교(혹은 출근)하고 학교가 정한 구제적인

[ 생각 ] 개인의 철학책과 현대 자본주의 공동체

이미지
오늘은 조금 철학에 관한 이야기를 해보려 한다. 내가 말하고 싶은 철학은 학문으로서 어떤 사상을 연구하는 그런 철학이 아니라, 그것을 포함한 어떤 물체, 사실 등을 '왜?'라는 질문을 통해 꼬리의 꼬리를 물며, 해답을 찾아내는 것을 말한다. '인간은 무엇인가', '인간은 왜 태어났는가', '사후세계란 존재하는가'등을 말하는 것이다. 나는 이런 철학은 인생에 있어서 가장 중요한 것이라고 생각하는 사람 중에 한 사람이다. 왜냐하면, 내 스스로 이런 것들을 정리한 나만의 '철학책'을 가지고 있기 때문이다. 여기서 말한 '철학책'은 다른 철학자들의 사상을 넣어놓은 것이 아니다. 물론 그것들에 영향을 받을 수 는 있지만, 그것과 동일하지는 않다. 이런 '철학책'은 나의 이상을 현실에 대입해 볼때에서 나온 나의 간접적, 직접적인 경험을 통해 얻은 것들이며, 나의 사상, 나의 원칙, 나의 신념, 나의 꿈 등의 요소들을 담은 것들이다. 이 요소들은 나에게 있어서는 밀이 말한 '부분적 진리'에 가까운 것들이다. 나는 나의 '철학책'들의 요소를 결코 '진리'라 생각하지 않는다. 왜냐하면, 나의 이상을 실험할 때, 경험을 통한 고찰과 성찰을 통해 나온것들이기 때문에, 그리고 내가 인간인 이상 나는 불완전한 존재이기 때문에, 내가 '부분적 진리'에는 근접할 수 있을지는 모르겠지만, 나 혼자서는 '진리'에 도달할 수 없기 때문이다. 또한 나의 경험에서 나온 것들이기 때문에 다른 사람들에게 있어서도 맞으리라 보장도 없다. 따라서 나의 '철학책'은 '부분적 진리'일지도, 아닐지도 모르며 '진리'는 아니다. 그리고 나의 '철학책'은 끊임 없이 개선된다. 동양에서는 이런

[ 이야기 ] 나만의 작은 아이

이미지
이야기는 어느 한 나라에서 구전으로 전해 내려져오는 이야기이다. 모두들 자신만의 작은 아이를 가지고 있는 마을이 있었다. 각자의 작은 아이들은 세상 그 무엇과도 바꿀수 없을 정도로 사랑스럽고 귀여웠다. 그 각자의 작은 아이들의 공통적인 닮은 점이 있었다. 작은 아이들의 입이 너무 사랑스러웠다는 점이다. 너무 사랑스러웟기 때문에 가끔 모두 모여 식사를 하는 마을의 모임에서 자신들만의 작은 아이들의 사랑스러운 입을 자랑하며, 서로 칭찬하며 즐겁게 지내고 있었다. 어느날 어느 한 소년은 우연히 소년만의 작은아이에게 입안에 이빨이 자라고 있음을 발견했다. 소년은 어디선가 본적이 있는 이빨의 형태였음을 느꼈다. 자신이 자주 보던 맹수 사전에서 자주 발견할 수 있었던 사람을 잡아먹는 맹수들의 이빨들과 같은 이빨들이였다. 정확히는 그 맹수들의 이빨과 매우 흡사했다. 소년은 위험을 눈치채고, 책을 들고서 마을 식당에서 식사를 하며 즐겁게 대화를 나누고 있는 마을 사람들에게 자신들의 작은 아이들에게 맹수와 같은 이빨이 자라고 있음을 알렸다. 마을사람들은 잠시 놀라더니, 각자 자신의 작은 아이에 입안을 확인했다. 소년의 말대로 맹수와 같은 이빨이 자라나고 있었다. 마을 사람 중 한 노인이 소년에게 물었다. "너의 말대로구나. 하지만, 맹수와 같은 이빨을 가졌다고 해도 우리를 헤치리란 보장이 없지 않니?" 소년은 망설임도 없이 그 책을 펼치며, 이 사전에 나오는 책들의 맹수들과 같은 이빨을 가지고 있다고 알렸다. 순간 잠깐 동안의 정적이 흘렀다. 이 정적을 깬 것은 한 중년의 남성이였다. 중년의 남성은 소년에게 '이 사랑스러운 작은 아이가 그럴리 없다'며 말도 안되는 소리 하지말라며 소리쳤다. 그 말을 시작으로 순간 잠깐 동안의 정적이 마치 없었던 것 처럼 시끌벅적 해졌다. 어떤 사람은 욕을하고, 어떤 사람은 소년의 몸을 밀치고, 어떤

[ 생각 ] 이방인에 대해서

이미지
나는 이방인이다. 왜냐하면, 나는 한국이라는 국적을 가지고 있지만 외국에서 일하고 있기 때문이다. 나에게 한국 사회는 너무나도 답답했고, 한국 사회도 나를 원하지 않았기 때문에 그 당시 한국 사회에서 나의 가치는 낮았다. 지금은 모르겠지만, 그 당시에는 한국 사회는 신입에게도 자신의 가치를 증명하라고 요구했기 때문이다. 따라서, 내가 한국에서 살아 봤자, 나는 행복하지 않을 것을 직감으로 느꼈다. 그래서 나는 잘 다루지도 못하는 외국어를 배워서 외국에서 사회 생활을 시작했다. 하지만 지금 생각해도 적응하기 까지 쉽지는 않았다. 수십 번의 고비를 맞았고, 그로부터 수십 번의 위기가 왔었다. 그리고 그 중에는 정말 다시 일어나지 못할 경우도 있었지만, 어떻게든 다른 사람들의 도움으로 잘 해결 했다. 이 자리를 빌어, 그들에게 감사 인사를 하고 싶다. 지금의 내가 있을 수 있던 것은 모두 그들의 도움이 없었다면, 불가능 했을 것이다. 어쨋든, 그 과정에서 얻은 깨달음들(대학 졸업 이후)은 내가 지금까지 얻었던 가치들 중에 가장 높은 가치를 가진다. 이런 가치들은 내가 한국에 살면서 만나본 한국 사람들과 내가 겪어본 다양한 나라 사람들을 다양한 시각에서 비판해보면서 얻은 것들이다. 밀의 말을 조금 빌려 사용하자면, 의견이라는 광물에서 비판이라는 불순물 제거 작업을 통해 '부분적 진리'라는 원석을 손에 넣었다. 그 중에 얻은 원석 중 하나가 나는 결국 이방인으로서 삶을 좋아한다는 것이다. 왜냐하면 이방인은 어떤 것에서 부터 자유롭다. 국적, 관습, 생각, 사상 등에서 자유롭다. 나는 한국에서 태어났지만, 외국에서 사회생활을 시작했기 때문에 나의 유전자는 동양인을 나타내고, 많은 동양인들 중에 한국인을 나타낼지 모르겠지만 나의 정신은 직접적으로는 다양한 나라 사람들에 의해 간접적으로 다양한 나라에서 발간된 책에 의해 발달되었고,

[ 생각 ] 왜 스타벅스는 세계적으로 인기가 많을까?

이미지
나는 언제나 스타벅스에 간다. 왜냐하면 세계어디든 존재하고, 스타벅스는 1인 자리도 충분히 많다. 그리고 노트북 충전을 할 수 있는 곳은 보통 스타벅스다. 그리고 어느나라건 스타벅스의 인테리어는 훌륭하다. 어느 가게는 그 나라의 그 지방의 특색을 더하는 인테리어를 하기도 한다. 오늘도 스타벅스에서 공부를 하던 도중에 왜 스타벅스는 인기가 많을까? 라는 생각이 떠올랐다. 그래서 오늘은 누구나 알고 있는 스타벅스에 대한 이야기를 하고자 한다. 오늘의 중심 이야기는 왜 스타벅스가 성공했으며, 특히 나를 포함한 사람들이 왜 그렇게 스타벅스를 좋아하는지에 대해 이야기를 해보려 한다. 먼저 스타벅스가 성공한 이유에 대해서 이야기 해보자. 스타벅스는 모두가 알듯이 커피 전문점이다. 그럼 스타벅스가 커피의 맛이 뛰어나기 때문에 성공했을까? 아니라면 스타벅스의 어떤점이 사람들의 마음을 사로잡았을까? 를 생각해보자. 스타벅스가 커피의 맛이 뛰어나서 그랬을까? 그건 아니다. 스타벅스의 직원은 보통 전문 바리스타가 하지 않는다. 스타벅스의 직원은 대부분 아르바이트 생이며, 커피는 전용 기계에서 내린다. 그렇다고 커피콩이 뭔가 특별함이 있을까? 그렇지 않다. 판매용으로 나오는 커피콩은 단지 스타벅스의 상표가 붙은 어디서든 살 수 있는 커피콩이며 특별함은 없다. 그렇다고 매장에서 쓰는 것도 특별한 커피콩이라고 볼 수는 없다. 그리고 나는 어느 카페를 가던 카페라떼 계열의 에스프레소에 우유가 들어간 커피를 좋아한다. 거기에 스콘까지 있다면 간단한 식사에도 훌륭하다. 내 입맛에 가장 맞았던 커피전문점은 한국의 커피빈이라는 카페의 카페라떼다. 물론 전문 바리스타가 내리는 카페라떼도 훌륭하지만 내 입맛에는 커피빈의 카페라떼가 가장 맛있었다. 내가 지금까지 마셔봤던 카페라떼 중에서 가장 훌륭했다. 따라서 나에게도 스타벅스의 커피는 나의 입맛을 사로 잡진 못했다.

[ 생각 ]텍스트(책)로 받아들이는 지식과 이미지(유튜브)로 받아들이는 지식에 대해

이미지
시작하기전에 나는 일반적으로 부르는 영상매체라는 것을 이미지 매체라 부른다. 이유는 간단하다. 영상 매체도 결국은 이미지를 빠르게 45장, 60장, 90장 겹쳐서 만든 것이고, 이를 FPS(Frame Per Second)라는 것과 거기에 음성 데이터로 구성되어 있기 때문이다.  따라서 영상도 또한 이미지라는 큰 틀 안에 있는 것에 불과하다 고 나는 생각하고 있다. 그래서 내가 여기서 말하는 이미지라는 것은 그림과 같은 이미지와 영상 이 두 가지를 포함한 개념이다. 그럼 본론으로 들어가보자. 나는 모든 지식을 책으로 부터 배우던 세대 그리고 현재, 지식을 유튜브와 같은 이미지로 배우던 세대 그 사이 어딘가에 있는 세대다. 그래서 나는 어린시절 책이라는 텍스트가 가득한 매체를 통해 지식을 습득했고, 내가 대학생 시절에는 책이라는 텍스트와 인터넷(전자책 포함)의 텍스트를, 그리고 지금에 와서는 책이라는 텍스트와 인터넷(전자책 포함)의 텍스트 그리고 유튜브라는 이미지 매체를 이용해 지식을 습득하고 있다. 갑자기 그런 생각이 떠올랐다. 지금 유튜브라는 매체에 익숙한 세대들은 이미지로서 지식을 받아들이는 경우가 많을탠데, 단순이 텍스트로 지식을 습득하는 것이 비효율적일까? 정말로 비효율적이라면, 어느 부분이 비효율적이며, 혹시 텍스트로 지식을 받아들인다면 유튜브로 받아드리는 것보다 어떤 면에서는 좋은점이 있지 않을까? 만약 압도적으로 유튜브로 받아들이는 지식이 더 효율적이라면 텍스트로 지식을 습득하는 방법은 버려야 할까? 라는 생각을 최근에 했었다. 그리고 이전에 종이책과 전자책에 대한 고찰을 해보았고, 오늘은 최종적으로 텍스트로 받아드리는 지식과 이미지로 받아들이는 지식에 대해 이야기해보려 한다. 위에서 이야기 했듯이, 나는 이 두 가지 매체에 매우 익숙한 세대이다. 물론 같은 세대라고 해도 조금씩 의견은 다를 수도 있다고 생각 한다. 위에서 언급

[ 생각 ] 각 나라 사람들은 어떻게 할까?(이전에 이야기 했던 각 나라의 정의에 기반해)

이미지
나는 보통 공부할 때, 카페에서 공부한다. 맛있는 커피를 마실 수 있으며, 여름에는 시원하고 겨울에는 따뜻하다. 결정적으로 나에게 집은 쉬는 공간이지 무언가를 하는 공간은 아니기 때문이다. 그러기 때문에 나는 어느 나라건 카페에서 공부를 한다. 어느날, 나는 항상 가던 스타벅스에 갔다. 그 날은 공휴일이여서, 사람들로 가득해 어떤 자리도 가득 차 있었다. 어떻게 할까를 생각하려는 찰나에 가게 점원이 나와서 기다리실 꺼냐고 물어봤다. 스타벅스는 보통 1인석도 많기 때문에 기다린다고 했다. 그리고 15분즈음 기다렸을까? 빈자리가 있다며, 안내를 받았다. 하지만, 그 자리는 1인석이 아닌 2인석이였다. 그것도 좋은 소파가 있는 2인석이였다. 나는 보통 2인석은 잘 앉지 않는다. 내가 조금 불편하더라도, 2인석은 2명이 앉아야 그 자리에 더욱 가치가 있다고 생각하기 때문이다. 하지만, 선택의 여지가 없었다. 그렇게 나는 소파가 있는 2인석에 앉았다. 뭔가 내키지는 않았지만, 훌륭한 소파였다. 그렇게 항상 먹던 초콜렛 스콘과 커피를 주문하고 앉아서 공부를 시작했다. 훌륭한 소파였기 때문에 평소보다 좀 더 집중이 되었던것 같다. 그리고 내 옆자리에는 누군가(한명) 앉아 있었다. 어느 순간 슬쩍 보니 사람은 없고, 자리에는 케이크를 다 먹었는지, 케이크를 감싸는 종이 포크, 그리고 남아 있는지 모를 종이로된 커피 컵이 있다. 그리고 결정적으로 짐을 놓는 거치대에 가방같은 짐이 다 사라져있었다. 단순히 이 상황에서는 여기에 있던 사람이 잠시 화장실을 간건지, 잠깐 용무가 있는지 모르는 그런 자리다. (대충 이런 느낌의 소파였다) 그리고 그 자리는 최대 5명이 앉을 수 있는 자리며, 앞에 사람이 있는지 없는지를 몰라 앉을까 말까 고민하는 사람들 (유모차를 끌고 있는 것을 보니 가족이였을 것이다)이 있었다. 이런 상황을 보고 이런 생각이 들었다. 각