• webMethods Developer Portal의 User Onboarding
    • webMethods Developer Portal 에서는 User Onboarding 관련 세가지 Strategy를 지원
      • Email Approval : 사전 SMTP 서버 구성이 필요하며, Email Templates > Email verification 에 지정된 양식으로 인증 URL과 함께 이메일이 발송
      • Internal Approval : 사전 Approval workflow (인증 절차) 구성이 필요하며, Approver 를 지정하여 유저 등록 시 Pending Request 에서 해당 유저를 Approve / Reject 가능
      • External Approval : 사전 Webhooks 구성이 필요하며, 유저 등록 이벤트 발생 시, 인증관련 정보를 외부 인증 시스템에 API[POST] 호출, 페이로드에 인증정보를 담아 전달 & 위임하는 방식, 인증서버에서 Developer Portal 로 다시 호출 해야 할 Approve / Reject 관련 API는 Documentation 참고
    • 인증 절차 순서 변경 및 Enable/Disable 기능 지원




※ Email Approval 설정

  • SMTP 설정 (Administration > SMTP)
    • Host name : SMTP 서버가 설치된 메일 서버 주소
      • 기본적으로 리눅스, 윈도우 에서는 메일서버가 설치되어 25번 포트를 사용하므로 편의상 localhost로 설정
    • Port : SMTP 서버 포트 (기본포트 25)
    • Sender address : Mail Verification 을 사용 시, Sender의 이메일 주소 입력


  • Email Template 설정 (Administration > Email templates)

  • User Onboarding Enable 필요
    • Enable 후 Save





※ Internal Approval 설정 가이드

  • Approval workflow 생성


    • Name : Workflow 명
    • Description : 설명
    • Approver Type : Group / User (승인자에 대한 설정 Manage User 에서 설정 가능)
    • Approval mode : Anyone / Everyone


  • User Onboarding Enable 필요 > Internal Approval






※ External Approval 설정 가이드

  • 웹 훅(webhook) 이란
    • 웹훅이란 역방향 API , 일반적으로 API 는 클라이언트가 서버를 호출하지만 웹훅의 경우 서버측에 등록하여 특정 이벤트가 발생했을 때 클라이언트를 호출하게 된다.


  • 웹훅과 폴링의 차이

    • 폴링(Poling) : 이벤트가 발생했는지 주기적으로 요청을 보내 확인하는 방식
    • 웹훅(webhook) : 서버에서 발생한 특정 이벤트가 앱에 수신되는 형태
      • 위 그림처럼 반드시 특정 Endpoint 에서 웹훅이 발생하는 것은 아니며, 웹훅이 구성 가능한 서버측에서 역방향으로 POST 요청을 하는 것


  • webMethods Developer Portal Webhooks 구성
    • webMethods Developer Portal 은 웹훅을 사용하여 User Registration에 관한 External Approval 설정을 할 수 있다.
    • 웹훅 요청이 가능한 Event Type은 webhook 생성 화면에서 확인 가능


※ 웹훅(webhooks) 기능 확인 테스트

  • 테스트 workflow

    • IS 서비스로 설정하여, Pipeline 데이터 확인 -> Approve API 호출하기


  • 웹 훅 등록 (Developer Portal)
    • URL : IS 서비스 (pub.flow:savepipeline 으로 구성 된 서비스) 호출 URL
    • Basic Auth : Administrator / manage
    • Event type : External account verification


  • IS 서비스 구성 (pub.flow:savePipelineToFile - Filename = incomming_webhooks)


  • 계정 생성 (Developer Portal > Sign in)


  • 저장 된 Pipeline (Integration Server)
    • link_id 확인 가능 : b4e6cda1-a0e9-4802-88b6-da102bfd709f


  • POSTMAN 으로 Approve API 호출하기
    • [PUT] https://192.168.1.44:18102/portal/rest/v1/approvals/request/external/b4e6cda1-a0e9-4802-88b6-da102bfd709f/approve?comments=테스트입니다


  • 정상 로그인 확인





※ 추가 스터디 - External Approval 설정 가이드 (w. Slack - incomming webhooks 기능 사용) (참고)

  • Developer Portal 에 webMethods.io 로 webhook -> Slack으로 메시지 전송 -> Slack 에서 메시지 입력 시 (Approve / Reject) 해당 이벤트를 다시 webMethods.io로 보내 Developer Portal 로 API 호출