Code Monkey home page Code Monkey logo

hyperauth's Introduction

HyperAuth

  • 설치 가이드

    • https://github.com/tmax-cloud/install-hyperauth

      • kafka cluster topic server 추가 설치의 경우, Step 4. Kafka Topic Server 설치 만 추가 수행하면 됨
    • Hyperauth 서버 이중화 및 세션 클러스터링 적용

    • Topic Consumer가이드

    • Fido 기반 생체 인증 기능 사용 가이드

    • 비밀번호 변경 3개월 경과시 비밀번호 변경 유도 기능 사용 가이드

      • Authentication - Bindings - Brower Flow : Browser With PasswordUpdateAlert 선택
      • 비밀번호 변경( 한적이 없는 경우, 최초 생성 ) 3개월 경과시, 로그인 시 비밀번호 변경 유도 화면 나타남
      • 다음에 변경하기 클릭시, 다음 로그인 시에 다시 한번 변경 페이지 나타남
      • 과거에 사용하던 비밀번호 사용 불가능
      • Config ( Authentication - Browser with Tmax Polices - Password Update Alert - Actions - Config 선택 )
        • Password Update Period in Month : 비밀번호 변경 주기 ( default : 3 )
    • 탈퇴 신청 로그인시, 탈퇴 신청 철회 화면 사용 가이드

      • Authentication - Bindings - Brower Flow : Browser With User Withdrawal Cancel 선택
      • 탈퇴 취소 버튼 클릭 시, 탈퇴 신청이 취소되고, 정상적으로 서비스 이용가능
    • EmailOTP 2-factor 인증 기능 사용 가이드

      • Authentication - Bindings - Brower Flow : Browser with EmailOTP 선택
      • OTP 인증을 추가 하고 싶은 user에게 otpEnable : true Attribute을 추가
      • id /pw 입력하고 난 후, 메일전송이 완료되면, otp code를 입력하는 화면으로 전환
      • Config ( Authentication - Browser with Tmax Polices - Mail OTP - Actions - Config 선택 )
        • OTP code time to live : OTP 코드 만료시간 Seconds ( default : 600 )
        • Length of the OTP code : OTP 코드 길이 ( default: 6 )
        • ( Alpha ) Template of text to send to the user : 메일 template
    • SecretQuestion 2-factor 인증 기능 사용 가이드 (Alpha)

      • Authentication - Bindings - Brower Flow : Browser with secret question 선택
      • Authentication - Required Actions : Secret Question Enabled, Default Action으로 선택하여 질문의 답을 추가하게 강제
    • IP 차단 기능 사용 가이드

      • Authentication - Bindings - Brower Flow : Browser with security policy 선택
      • IP Block 정책을 걸고자 하는 user에게 Attribute을 추가
        1. ipBlock : true
        2. ipPermitList : 192.168.6.196/16##172.22.6.2/24##172.21.6.3/24
  • 이미지 정보

    docker pull tmaxcloudck/hyperauth:latest
  • 정책

    • User Attribute Key-Value 값 (공통 및 고정)
      • 현재사용중인 Key
        • user_name
        • ipBlock
        • ipPermitList
        • isAdmin
        • otpEnable
        • agreeMailOpt
        • agree_ischecked_{client_name}
        • agreeAdv{client_name}Opt
        • withdrawal_unqualified_{client_name}
        • lastPasswordUpdateTime
        • deletionDate
        • under_14
      • USER
        • 사용자의 username은 attribute으로 관리
          • user_name : 한글/영어
          • user_name_ko : 한글
          • user_name_en : 영어
        • 사용자의 나이가 14세 미만인 경우
          • under_14 : true
          • 14세 이상인 경우, attribute이 존재하지 않거나 value 값이 true가 아님
      • AGREEMENT
        • Hyperauth(공통)의 선택 약관
          • agreeMailOpt : true / false
        • Client별 최초 로그인시 약관
          • agree_ischecked_{ClientName} : true
            • ex) agree_ischecked_portal : true / agree_ischecked_hypermeeting : true
        • Client별 수신동의 (선택약관)
          • agree{항목종류}{ClientName}Opt : true/false
            • ex) agreeAdvPortalOpt : true / agreeAdvHyperMeetingOpt : true
  • API 정보

Feature

  • Login/Logout Event 발생 시, Auditing 기능 (Alpha)

  • 회원가입/탈퇴 시, HyperCloud4 Role 생성/삭제 기능

    • NSC, RBC 등 요청 리소스 생성 권한 부여
  • 중복 Login 방지 기능

    • 한 유저의 Client당 로그인 session을 하나만 유지
  • 회원 가입 시 Email 인증 기능

    • 가입 10분 후, 이메일 인증을 수행하지 않은 사용자 정보 삭제
  • Client 별 약관 CRUD 기능

  • 네이버로 로그인, 카카오로 로그인 (Alpha)

  • 회원가입 시, 핸드폰 번호 인증 기능 (Alpha)

  • 회원 탈퇴 신청 기능

    • 탈퇴 신청 후, 사용자 데이터 30일 유지
    • 탈퇴 철회는 관리자 문의를 통해 지원
  • 2-factor 인증 기능

    • EmailOTP 기능
      • 유효시간, 인증숫자의 개수는 설정으로 변경 가능 (default: 10min, 6자리)
    • Secret Question 기능 (Alpha)
      • 질문에 대한 답을 입력하는 추가 인증 기능
      • 현재 질문이 하나로 고정되어 있음
      • What is your mom's first name?
  • IP 차단 기능

    • 사용자 별 IP 차단 기능 제공
      • WhiteList 기반 관리
      • ipBlock attribute 가 true 일때, ipPermitList의 IP(CIDR)에 대한 접근 허용
      • 복수개의 CIDR를 등록시 ##으로 구분해서 추가
  • 그룹 관리자 관련 기능

    • 그룹 관리자는 그룹에 속해 있어야 하고, attribute으로 isAdmin : {groupName} 을 가지고 있어야 한다.
    • 그룹 하위 사용자들에 대한 CRU 기능
    • 기 사용자를 그룹에 초대하는 기능
    • 그룹에 대한 생성, 그룹 관리자로 승격은 HyperAuth 관리자가 직접 제어
  • 사용자 비밀번호 관련 기능

    • 사용자가 자신의 비밀번호 변경 기능 (자신의 Token 필요)
    • 비밀번호 찾기 기능 (인증 코드를 Email으로 발송)
  • BCrypt Password Hash 알고리즘 추가

    • keycloak이 기본적으로 제공하는 pbkdf2-sha256 알고리즘 외에 BCrypt 알고리즘을 이용해 password를 hashing 할 수 있게 지원
    • Authentication > Password Policy : Add Policy > Hashing Algorithm : bcrypt 입력
    • 참고 : pbkdf2-sha256 혹은 Bcrypt hash 알고리즘을 사용한 외부 인증 서버로 부터는 비밀번호 migration을 지원가능

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.