! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

포건시 로그인을 Office365 회사 계정으로 하기 > 지식 쉐어링

본문 바로가기

알쓸신잡 포건시 로그인을 Office365 회사 계정으로 하기

페이지 정보

작성자 GCK제이크 작성일 2022-02-14 23:10 조회 987회 댓글 2건

본문

안녕하세요. 포건시 Product Manager 제이크입니다. 

댓글에서의 호칭도 그냥 '제이크님' 정도로 가볍게 불러 주시면 됩니다.


Q&A 게시판에 좋은 질문이 올라와서 답변을 준비하다 보니 내용이 굉장히 길어지네요. 앞으로 자주 찾을 수 있는 내용이기도 하고, 제 입장에서는 답변을 따로 정리해야 하는 사안이라서 지식쉐어링에 정리해봅니다.

 

 

 

본 글에 앞서

 


포건시는 "코딩을 잘 모르는 사람도 누구나 웹서비스를 개발할 수 있다."라는 가치를 전달하는 개발 도구입니다. 포건시는 코딩을 잘 하는 사람이든 못하는 사람이든, 소프트웨어를 개발해 보고 싶은 사람들 모두에게 동일한 가치를 제공합니다. 코딩을 잘 못하는 분들에게는 코딩을 몰라도 개발할 수 있는 소프트웨어 개발 환경을 제공하고, 또 코딩을 잘 하시는 분들에게는 귀찮고 반복적인 코드를 줄여주는 역할을 할 수 있습니다.



하지만 포건시를 활용한다고 해서 포건시 이외의 도구들에 대한 활용을 쉽게 해주지는 못합니다. 예를 들어, 데이터베이스라거나, 클라우드 서비스와 같은 도구들은 포건시와 별개로 전문지식을 필요로 하기 때문입니다.



본 글은 코딩 초보자들을 위한 글이 아닙니다. 왜냐하면 이 글에서는 포건시를 사용할 때 Microsoft의 Office365 계정을 이용하는 방법을 설명하기 때문입니다. 그래서 이 글은 Azure를 잘 다룰 줄 아시는 분이 이해하실 수 있습니다. 혹은 그런 분이 옆에서 도움을 주시는 경우에 활용하실 수 있습니다. 그러므로, Azure 활용에 대한 내용은 회사 IT 부서 혹은 보안팀에 문의해주시기 바랍니다.



코딩 초보자가 IT팀에 문의해야 하는 내용은 글 끝에 따로 정리해두었습니다.





포건시 로그인의 종류



포건시 로그인의 종류는 크게 총 3가지로 볼 수 있습니다. 


① Forguncy 인증 : 포건시 서버 자체에서 사용자 관리

② Windows 인증 : Microsoft社의 Active Directory를 연동한 사용자 관리

③ 제3자 인증 : 네이버, 카카오, 구글, 페이스북 등 타사의 로그인을 연동한 사용자 관리


포건시로 앱을 만드는 개발자는 위 3가지 중 1가지를 택하여 사용자 로그인 방식으로 채택하실 수 있습니다.





포건시와 Azure 인증 방식 관리



위 방식들 중 Microsoft Office365를 이용한 인증은 ②번이 아니라, ③번 방식을 사용합니다. 왜냐하면 Microsoft의 Office365는 Azure를 기반으로 하고 있고, 이는 Microsoft의 Cloud 서비스이기 때문에 언제든 열려 있는 서버이기 때문입니다. 


Office365에 로그인하는 Microsoft 계정을 관리하는 방식은 AAD(Azure Active Directory)라고 부릅니다. 예전에 존재하던 WAD(Windows Active Directory)와 다른 점은, WAD는 회사 내에 Windows Server를 두고 해당 서버 내에서 관리하는 방식이었다면, AAD는 Azure Cloud에 접속하여 관리하는 방식입니다. 그래서, 포건시로 AAD를 사용하는 로그인 인증 방식을 채택하면 포건시는 Azure 서버에 사용자의 Email 정보를 문의하고, Azure 서버는 해당 Email 사용자가 포건시 서버를 이용할 수 있는 회사의 사용자가 맞다면 사용하도록 허가해 줍니다.



b38ccd225d199fb490e7b67d143f734a_1644845983_2483.png
 



(1) 포건시는 먼저 Microsoft 서버를 호출하여 AAD에서 해당 앱을 사용할 수 있는 허가된 사용자인지 확인합니다. 이후, MS의 AAD에서 해당 앱을 사용하도록 허가된 계정이라고 판단하면, 결과를 포건시 서버에 돌려줍니다.


(2) 그 다음 포건시 서버는 앱 내 설정된 내부 사용 권한을 확인합니다. 회사 내에서도 여러 직무/직급이 있을 수 있기 때문에 포건시로 생성한 앱 내에 정의된 권한 별로 사용하게 됩니다. (해당 기능은 포건시 자체 기능입니다.)




Office365란 무엇인가? 포건시와의 통합이란 어떤 의미인가?



Office365는 Microsoft의 문서 관리 도구입니다. Office365란 무엇인가에 대해서는 공식 홈페이지의 링크로 갈음합니다.



많은 회사들이 Microsoft Office를 사용하며, 동시에 Office365 로그인 시스템을 업무 시스템에 병렬 차용하는 경우가 많이 있습니다. 이렇게 Microsoft 업무용 계정을 사용하도록 강제하면, 어떤 직원이 퇴사 시에 IT부서에서는 해당 사용자만 사용안함(Disabled) 상태로 변경하면 모든 회사 관련 정보의 접근이 불가능하게 변경되기 때문에 관리가 간단해집니다.



포건시는 Office365에서 제공하는 이런 강력한 기능을 외부 서비스에 제공하는 "Microsoft 계정으로 로그인하기" 기능을 활용할 수 있도록 설계되어 있습니다. 여러분들이 여러 웹사이트에 돌아다니시다 보면 아래와 같은 화면을 보시게 될 거에요. 아래의 화면은 거대 포탈 사이트들에서 사용자 정보를 관리하도록 하고, 외부의 다른 사이트들에서는 해당 정보를 가져와서 활용만 하면 되는 Open API라고 불리는 인증 시스템입니다. 포건시에서 제공하는 "Office 365 계정 통합" 기능은 이런 기능의 Microsoft 버전이라고 보시면 됩니다.


b38ccd225d199fb490e7b67d143f734a_1644846098_1546.png


포건시에 일반적으로 설정한 아이디와 Microsoft의 AAD에서 불러와 저장한 정보의 차이는 아래와 같습니다. AAD에서 불러온 정보의 경우 AAD가 인식할 수 있는 형태로 사용자ID가 설정되며, 사용자가 로그인을 시도할 때마다 포건시 서버는 Microsoft AAD에 사용자 정보의 정합성 확인을 요청한 후 답을 받아 처리하게 됩니다. 




포건시에 Office365 계정 연동 시 장점



Azure Active Directory(이후 AAD)를 이용하여 Office365계정을 연동하면 보안성이 향상됩니다. 그리고, 웹서버 사용자 관리에 투입되어야 하는 관리 공수가 감소됩니다.



대부분 회사의 IT부서에서는 직원들을 AAD에 등록하여 직접 관리합니다. 이 정보를 이용하여 컴퓨터에 로그인하게 하거나, 회사 내 다른 업무 시스템에 접근하도록 조치합니다. 그러므로, IT부서에 의한 사용자 계정의 중앙 통제가 가능합니다. 포건시만 별도로 계정을 관리하지 않고 IT부서가 직접 관리하는 서버에서 사용자 정보를 가져오게 되므로, 회사에 퇴사자가 발생할 경우 해당 사원은 AAD에서 조치된 바대로 즉시 포건시 앱 사용이 불가하게 됩니다.


AAD에는 인증 정보를 이용하여 사용하는 앱 내에 사용자의 권한을 따로 설정합니다. 예를 들어, 직원 A와 B와 C가 있을 때 AAD에서 '앱1'에 대한 사용 권한을 A와 B에게만 설정하면, C는 같은 회사 직원이지만 해당 앱에 접근할 수 없습니다. 포건시에서 역시 AAD를 사용하므로, AAD에서 해당 앱을 사용할 수 있도록 사용자를 허가받은 사용자만 사용 가능합니다. 


또한, 포건시 서버는 AAD에 신호를 보내고, AAD는 포건시 서버의 특정 API로 결과를 돌려줍니다. 이 주소는 AAD를 관리하는 IT 부서에서 설정할 수 있습니다. 즉, AAD에 허용되지 않은 앱 주소로는 전부 같은 내용, 같은 설정을 했다 할 지라도 사용이 불가능합니다.



보안상 장점 요약


(ㄱ) 회사의 Azure Active Directory를 관리하는 IT부서/담당자가 사실상 사용자 계정을 담당하게 된다.

(ㄴ) 회사의 AAD에서 허가된 앱, 그리고 해당 앱에 허가된 사용자만 접속이 가능하다. 다른 부서에서 접근할 수 없도록 할 수 있다.

(ㄷ) 포건시 내부의 권한 설정을 이용하여 (허가된 사용자라도) 권한이 있는 컨텐츠에만 접근하도록 제한할 수 있다.

(ㄹ) 그러므로 인터넷의 신원불명(anonymous) 사용자들의 접근을 막을 수 있으며, 퇴사자의 접근을 막을 수 있다.

(ㅁ) AAD에서 설정한 앱 주소를 사용하지 않으면, 모든 설정을 안다 해도 포건시 서버에서 Office365 로그인을 사용할 수 없다. 즉, AAD 관리자가 통제할 수 있다.



Office 365 계정 연동



설명을 더 진행하기 전에, 아래 스크린샷들은 테스트 환경임을 밝힙니다. 


각 회사마다 AAD의 설정은 다를 수 있으므로, 실제 적용 시 세부 내용은 담당자 혹은 IT부서에 문의하셔야 합니다. 또한, AAD는 GrapeCity의 사업영역이 아닌 Microsoft의 영역이므로, 문의에 대해 저희가 정확한 답변을 드리지 못할 수 있는 점 미리 양해 부탁드립니다.


본 매뉴얼을 보시는 분들은 바로 실제 서버에서 작동 여부를 확인하시기 보다, 먼저 개인 계정 혹은 테스트 계정에서 작동 여부를 확인하십시오. 


1. Microsoft에서 개인/테스트 계정으로 가입합니다. 


2. 다음은 https://portal.azure.com/#home 으로 이동합니다.


3. 메뉴 > Azure Active Directory 를 선택합니다.


b38ccd225d199fb490e7b67d143f734a_1644846354_7.png
 


4. 앱 등록 (App registrations) 을 선택합니다.


b38ccd225d199fb490e7b67d143f734a_1644846371_1305.png
 


5. 새 등록 (New registration) 을 선택합니다.


b38ccd225d199fb490e7b67d143f734a_1644846383_342.png
 


6. 다음은 새로운 앱 등록을 진행합니다.


b38ccd225d199fb490e7b67d143f734a_1644846404_334.png

 (1) 먼저, 앱 이름을 지정합니다. 


 (2) 다음은 "지원되는 계정 유형(Supported Account Types)"에서 아래 항목을 선택합니다.

   - 모든 조직 디렉터리의 계정(모든 Azure AD 디렉터리 - 다중 테넌트) 및 개인 Microsoft 계정(예: Skype, Xbox)

   - Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)


 (3) Redirect URI는 일단 아무 주소나 입력해 두세요. 나중에 변경해야 합니다. 이후에 다시 설명합니다. 



7. 등록하면 다음의 정보들이 화면에 표시됩니다. 아래 정보들을 메모장 등에 저장해 두십시오.


b38ccd225d199fb490e7b67d143f734a_1644846479_8945.png

Azure는 한글판과 영문판의 아래 정보가 순서가 섞여 있으므로 한글과 영문을 아래와 같이 묶어 둡니다. 


 (1) 애플리케이션(클라이언트) ID - Application(Client) ID

 (2) 디렉터리(테넌트) ID - Directory(Tenant)ID

 (3) 개체 ID - Object ID


8. 다음은 해당 앱의 비밀번호 설정을 해야 합니다. 왼쪽 메뉴에서 「인증서 및 암호(Certificates & secrets)」로 이동합니다.


9. 그 후, 화면 중간의 새 클라이언트 암호(New client secret)를 클릭합니다. 


b38ccd225d199fb490e7b67d143f734a_1644846506_107.png
 


10. 암호에 대한 설명과 사용 기간을 설정합니다. 


b38ccd225d199fb490e7b67d143f734a_1644846536_2149.png

11. 비밀번호를 등록하면 아래와 같이 나타납니다. 


b38ccd225d199fb490e7b67d143f734a_1644846613_3867.png
  - 여기에서 값(Value) 항목이 비밀번호 입니다.  

  - 주의할 점이 있습니다. 비밀번호는 초기 설정 시 한 번만 복사할 수 있으므로, 반드시 메모장 등 어딘가에 기록해 두어야 합니다. 이후에는 다시 표시되지 않습니다.




포건시 앱 작성 및 배포



자, 이제 설정한 AAD의 내용을 적용하기 위해 포건시에서 새로운 프로젝트를 하나 생성하겠습니다.



1. 먼저 포건시를 열고 새로운 프로젝트를 생성하십시오.


2. 다음은 페이지를 하나 생성하겠습니다. 이 페이지는 로그인이 완료된 후 보여줄 페이지입니다. (페이지 구성에 대한 내용은 자세히 설명하지 않습니다. 잘 모르시면 따로 질문해 주세요.)


b38ccd225d199fb490e7b67d143f734a_1644846687_8253.png
 


3. 다음은 프로젝트 탐색기의 서버단 명령에 마우스 오른쪽 클릭한 후 새로운 서버단 명령 생성하기를 선택하십시오.


b38ccd225d199fb490e7b67d143f734a_1644846780_0609.png
 

4. 서버단 명령 생성을 시작하시고, 제목에 「Office 365-Single-Sign-On」, 권한은 「모두」, HTTP 메소드는 「GET」으로 지정해 주십시오. 


5db70dd0f77dfc40f7e8f6ea6b112c67_1644902195_0835.png

본문의 처음에 설명드린 바와 같이 본 매뉴얼은 초보자들을 위한 매뉴얼이 아닙니다. 왜 이렇게 설정해야 하는 지에 대한 설명은 따로 드리지 않습니다.


 

5. 다음은 「명령」 탭으로 이동하여 「명령 편집」을 클릭합니다.


b38ccd225d199fb490e7b67d143f734a_1644846857_6691.png
 

6. 명령 실행창이 나타나면 「Office365 통합인증」 을 찾아 선택합니다.


b38ccd225d199fb490e7b67d143f734a_1644846866_051.png
 


7. 「Office365 통합인증」 서버 명령 내에 필수 항목인 Client ID, Tenant ID, Client Secret을 입력합니다. 


b38ccd225d199fb490e7b67d143f734a_1644846906_9203.png
 


8. 이제 확인을 눌러 서버 명령을 저장합니다. 아래와 같이 나타나면 성공입니다.


b38ccd225d199fb490e7b67d143f734a_1644846921_0045.png
 

9. 자, 다음은 포건시의 프로젝트 탐색기 > 기본 제공 페이지 > 로그인 페이지로 이동합니다.


b38ccd225d199fb490e7b67d143f734a_1644846981_3094.png 



10. 로그인 페이지에 수동으로 「Office 365 SSO」 로그인 버튼을 추가합니다.


b38ccd225d199fb490e7b67d143f734a_1644846994_1871.png

버튼 생성 방법은 따로 설명하지 않습니다. 어떻게 생성하시는 지 모르시는 경우 게시판에 따로 질문을 올려 주세요. 


11. 새로 생성한 버튼에 마우스 오른쪽을 클릭 후, 명령 편집을 선택합니다.


b38ccd225d199fb490e7b67d143f734a_1644847014_5846.png
 


12. 명령 편집창이 나타나면 「페이지 이동 명령」을 선택한 후, 옵션을 「값」으로 선택합니다. 이후 아래 그림과 같이 앞서 작성한 서버단 기능을 호출하도록 지정합니다. 지정 방식은 ServerCommand/{서버단 명령 이름} 입니다. 이렇게 호출하면 작성한 서버단 명령을 API 형태로 호출할 수 있습니다.



5db70dd0f77dfc40f7e8f6ea6b112c67_1644902340_9822.png


13. 이제 작성한 앱을 서버로 배포합니다.

b38ccd225d199fb490e7b67d143f734a_1644847114_5002.png


 ※참고 : 포건시 서버는 영업부서를 통해 상담을 진행하신 후 테스트용 프로그램을 제공받으실 수 있습니다. 그러므로 포건시 서버의 테스트를 원하시는 경우 영업대표 이메일(sales-kor@grapecity.com)로 연락 부탁드립니다.


자, 이제 준비가 거의 다 됐습니다. 




Azure 설정 변경


Office365 계정 연동은 포건시 서버에 앱 배포 후, 해당 명령을 API 형태로 호출해서 사용합니다.


마지막 단계가 남았습니다. 마지막 단계를 실행하지 않고 테스트하시면 reply URL에 문제가 있다는 오류가 나타날 겁니다. 이는 AAD가 돌려줄 주소를 모르거나, 잘 못된 주소를 가지고 있을 경우 나타나는 Azure에서 발생시키는 오류메시지입니다.


b38ccd225d199fb490e7b67d143f734a_1644847210_8188.png


위에서 설명한 내용 중 AAD의 Redirection URI를 대충 아무거나 설정하셨었는데요, 이제 서버 배포가 되었으므로 본격적으로 AAD에 이를 설정하겠습니다.



1. 다시 AAD에 가서 해당 앱 선택 > 인증으로 이동한 후 플랫폼 추가를 클릭합니다.


b38ccd225d199fb490e7b67d143f734a_1644847331_2526.png 

 


2. 플랫폼 구성 > 웹을 선택합니다.


b38ccd225d199fb490e7b67d143f734a_1644847350_9837.png
 


3.  이후 웹 구성에서 해당 서버의 서버단 명령의 주소를 도메인 이름까지 붙여서 추가 합니다. 


5db70dd0f77dfc40f7e8f6ea6b112c67_1644902575_405.png

이는 위에서 로그인 페이지의 로그인 버튼에 추가했던 주소와 동일하며, 앞에 도메인과 앱 이름을 추가한 형태입니다. 



4. 아래 「구성」 버튼을 눌러 저장합니다.


localhost에 포건시 서버를 구성하신 경우 이렇게만 해도 정상 구동이 될 것입니다. 




포건시 서버 설정 변경


localhost가 아닌 실제 서버에 작업을 하신 경우 동일한 또 다른 오류 메시지가 나타나 당혹스러우실 수 있습니다. localhost가 아닌 실제 서버에 작업을 하신 경우 동일한 또 다른 오류 메시지가 나타나 당혹스러우실 수 있습니다. 


먼저 이 오류가 발생하는 이유를 설명하자면, 포건시 서버 내부에서 내부 API나 서버단 명령을 호출하는 경우, 포건시 서버 외부에서 나쁨 마음을 먹은 해커가 내부 동작을 파악할 수 없도록 하기 위해 컴퓨터 내부에서 명령들을 처리하도록 되어 있습니다. 그래서 서버 내에서 처리하다보니, API 혹은 서버단 명령을 호출 시 도메인으로 호출하지 않고 내부 컴퓨터명으로 호출해서 생기는 이슈입니다. (컴퓨터 이름과 관련된 내용은 Microsoft의 내용을 참고하세요. )



1. 포건시 서버로 이동하여 관리 콘솔 실행 > 앱 목록으로 이동합니다.


b38ccd225d199fb490e7b67d143f734a_1644847623_8167.png
 


2. 해당 앱 이름을 클릭하여 세부 설정으로 이동합니다.


b38ccd225d199fb490e7b67d143f734a_1644847658_2514.png
 


3. 위 그림처럼 일반 설정 > URL 알림을 위한 도메인 이름 - 에 도메인과 해당 앱의 주소를 입력합니다. (위 주소는 예제를 위해 생성했다가 삭제한 앱으로, 실제 접속은 되지 않습니다.)


4. 설정 저장 버튼을 클릭하여 저장합니다.



  

이제 로그인 하면 정상 작동할 것입니다.


※ 추가 Tip : 위와 같이 하면 앱 소유주는 정상 작동이 되지만, 추가 인원들은 권한이 없어 사용하지 못할 수 있습니다. 이런 경우 AAD에서 해당 앱의 사용자 및 그룹(Users and Groups)을 선택하여 사용자를 추가하시면 됩니다.  



회사에 IT담당부서와 협업 시 체크리스트


회사에 사용자 로그인 정보를 관리하는 IT담당 부서가 따로 있는 경우 아래와 것들을 요청하시면 됩니다.


1. 먼저 IT부서 담당자에게 현재 페이지를 주고, Azure에 앱 세팅 방법을 IT부서에 알려주기
2. 본인이 개발할 "앱 이름"을 알려주고 설정해 Azure Active Directory의 앱 정보에 입력해 달라고 IT부서에 알려주기
3. 해당 앱에 접속할 사람들(팀/조직)을 알려주기
4. 생성한 Azure Active Directory의 앱 등록 페이지에서 Client ID, Tenant ID, Client Secret을 전달해 달라고 IT부서에 요청하기
5. 앱을 만들어서 포건시 서버에 배포하기
6. 해당 앱의 Azure 설정에서 Redirect URI를 설정해 달라고 IT부서에 요청하기

관련하여 추가적인 질문, 문의사항이 있으신 경우 Forguncy Q&A 게시판에 질문 남겨주세요.




  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

GCK제이크님의 댓글

profile_image GCK제이크 작성일


추가 내용을 남깁니다.

현재 해당 기능에 사소한 문제가 있어 수정 중이며, 2022년 상반기에 출시될 V8에서 수정 예정입니다. 문제의 양상은 다음과 같습니다.

1. 해당 URI를 호출하고, 성공적으로 인증이 되면 포건시 서버에 해당 사용자가 업데이트 됩니다.
2. 현재 문제 : Office365에서 가져온 이메일 정보가 자동 등록되지 않습니다. (다음 버전에 수정 예정)
3. 현재 해결 방안 : 그래서 서버에서 '사용자 정의 특성'을 추가 > Office365 로그인 > 사용자가 이메일을 입력하도록 유도 > 사용자 업데이트 해야 합니다.

삭제된 댓글

GCK제이크 작성일

삭제된 댓글 입니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

인기글

더보기
  • 인기 게시물이 없습니다.
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.