개념
- 회사당 하나의 연결. 회사에는 하나의 프로토콜을 사용하는 Single Sign-On 연결이 하나만 있습니다. 프로토콜은 OpenID Connect, Feishu / Lark, DingTalk, SAML 중 하나입니다. 이 페이지에서 앞의 셋 중 하나를 저장하면 SAML 연결이 대체됩니다(SAML에서 전환 참조).
- 검증된 도메인이 로그인을 라우팅합니다. DNS 레코드로 소유를 증명한 이메일 도메인만 사용자를 공급자로 보냅니다.
- 초대 우선. Single Sign-On은 스스로 계정을 만들지 않습니다. 기존 구성원이거나 회사가 보낸 대기 중인 초대를 수락한 경우에만 들어올 수 있습니다.
- 연결된 계정. 처음 로그인에 성공하면 공급자 계정이 Alforse의 사람과 연결됩니다. 이후 로그인은 이 연결을 바로 사용합니다.
시작하기 전에
- 권한. 회사 설정을 변경할 권한(
settings업데이트)이 필요합니다. 권한이 없으면 페이지에 “Administrators only”(관리자 전용)가 표시됩니다. - 사용 가능 여부. 구독에 Single Sign-On이 포함되어 있지 않으면 페이지에 “Single sign-on isn’t in your plan”(Single sign-on은 현재 플랜에 포함되어 있지 않습니다)이 표시됩니다.
- 공급자 액세스. 자격 증명 공급자에서 애플리케이션을 생성할 권한이 필요합니다. Feishu / Lark 오픈 플랫폼의 커스텀 앱, DingTalk 개발자 콘솔의 내부 앱, 또는 IdP의 OIDC 웹 애플리케이션입니다.
- DNS 액세스. 각 이메일 도메인에 TXT 레코드를 게시하게 됩니다.
Single Sign-On 페이지 열기
- https://app.alforse.com 에서 ERP에 로그인합니다.
- 같은 브라우저에서 https://api.alforse.com/identity를 엽니다.
자격 증명 공급자 카드
연결(Connect)을 선택합니다(기존 연결이면 변경 사항 저장). Alforse는 저장하기 전에 공급자와 설정을 확인하고 “Single sign-on saved”(Single sign-on이 저장되었습니다)로 알려 줍니다.
리디렉션 URI
모든 공급자 애플리케이션은 이 하나의 리디렉션(콜백) URI를 사용해야 합니다.공급자 설정
- Feishu / Lark
- DingTalk
- OpenID Connect
Feishu 오픈 플랫폼(https://open.feishu.cn, Lark는 https://open.larksuite.com)에서:
- 커스텀 앱(企业自建应用)을 생성합니다.
- Credentials & Basic Info(자격 증명 및 기본 정보)에서 App ID와 App Secret을 복사합니다.
- Security Settings → Redirect URLs(보안 설정 → 리디렉션 URL)에 위에 표시된 리디렉션 URI를 추가합니다.
- Permissions(권한)에서 다음을 허용합니다.
- 사용자 기본 정보 읽기(필수)
- 이메일로 사람을 대응시킬 수 있도록 사용자의 기업 이메일 읽기
- Alforse에서 Tenant key를 비워 둘 경우 테넌트 정보 읽기
- 버전을 생성하고 로그인할 사람들에게 앱을 게시합니다.
- Feishu 테넌트가 발급한 기업 이메일만 검증된 것으로 간주됩니다. 사용자가 자기 프로필에 직접 입력한 주소는 대응에 사용되지 않습니다.
- 기업 이메일이 없는 사람은 로그인 링크로 한 번 연결합니다.
이메일 도메인 검증
연결을 저장한 후 이메일 도메인 카드에서 구성원이 로그인에 사용하는 도메인을 각각 추가합니다. Add a domain(도메인 추가) 아래에 도메인(예:example.com)을 입력하고 추가를 선택합니다. 새 도메인은 대기 중(Pending)이며 게시할 TXT 레코드가 표시됩니다.
DNS 공급자에서 레코드를 게시한 다음 검증을 선택합니다. 성공하면 도메인이 확인됨(Verified)으로 표시되고 페이지에 “Domain verified”(도메인이 검증되었습니다)가 나타납니다. 규칙은 SAML과 같습니다. 도메인 검증을 참조하십시오.
로그인을 사람에게 대응시키는 방법
사용자는 ERP 로그인 페이지에서 업무용 이메일을 입력하고 계속을 선택하여 로그인합니다. 검증된 도메인의 이메일이면 공급자로 이동합니다. 돌아오면 Alforse는 회사 내부에서만 다음 순서로 찾습니다.- 연결된 계정. 공급자 계정이 이미 어떤 사람에게 연결되어 있으면 그 사람으로 로그인합니다.
- 검증된 이메일. 공급자가 검증된 도메인 중 하나의 검증된 이메일을 알려 줍니다. 일치하는 활성 구성원이면 로그인하고, 일치하는 대기 중인 초대는 수락되어 지정된 역할이 적용됩니다. 그런 다음 계정이 연결됩니다.
- 로그인 링크. 사용자가 발급받은 일회용 로그인 링크를 열었습니다. 계정은 링크가 만들어진 대상 구성원 또는 초대에 연결됩니다.
로그인 링크
공급자가 이메일을 증명하지 못하는 사람, 즉 DingTalk의 모든 사용자와 기업 이메일이 없는 Feishu 사용자를 연결하려면 로그인 링크 카드를 사용합니다.- Pending invitation(대기 중인 초대)을 선택하거나 Or an existing member’s email(또는 기존 구성원의 이메일)에 입력합니다.
- 링크 생성(Create link)을 선택합니다.
- Sign-in link created(로그인 링크가 생성되었습니다) 대화 상자에서 링크를 복사하여 해당 사람에게 직접 보냅니다.
https://api.alforse.com/api/web/auth/v1/sso/oauth/invite?token=… 형식입니다. 해당 사람이 링크를 열고 공급자로 로그인하면 계정이 연결되며, 이후에는 평소처럼 로그인합니다.
- 한 번만 표시. 링크는 그 대화 상자에서만 표시됩니다. 분실하면 취소하고 새로 만드십시오.
- 1회 사용, 7일 유효. 표에는 각 링크의 For(대상), 상태(Open, Used, Revoked, Expired), 만료가 표시됩니다. 열려 있는 링크는 취소(Revoke)를 선택하여 무효화합니다.
- 검증된 도메인 필요. 초대 또는 구성원의 이메일이 연결의 검증된 도메인에 속해야 합니다.
- 로그인 링크는 OpenID Connect, Feishu / Lark, DingTalk 연결에서 사용할 수 있으며 SAML에서는 사용할 수 없습니다.
연결된 계정
연결된 계정 카드에는 모든 연결이 담당자(Person), Provider account(공급자 계정), Linked by(연결 방식: Verified email 또는 Sign-in link), 연결됨(Linked)과 함께 나열됩니다. 연결을 제거하려면 취소를 선택합니다. 해당 사람의 Alforse 계정은 유지되며, 다음 로그인 때 검증된 이메일로 다시 대응되거나 새 로그인 링크가 필요합니다.Single Sign-On 필수화
Single Sign-On 필수(Require single sign-on)를 켜면 검증된 도메인의 사용자에게는 공급자가 유일한 접속 방법이 됩니다. 매직 링크 같은 다른 로그인 방법은 이들에게 거부됩니다. 이 스위치는 도메인이 하나 이상 검증된 뒤에 적용되므로, 강제하기 전에 로그인을 테스트할 수 있습니다.SAML에서 전환
회사가 이미 SAML을 사용 중이면 카드에 “Your company currently signs in with SAML. Saving another provider here replaces it.”(회사가 현재 SAML로 로그인하고 있습니다. 여기서 다른 공급자를 저장하면 SAML이 대체됩니다.)가 표시됩니다.- OpenID Connect, Feishu / Lark 또는 DingTalk 연결을 저장하면 연결에서 SAML 설정(IdP 메타데이터)이 제거됩니다. SAML 로그인은 그 시점에 중단됩니다.
- 이메일 도메인과 그 검증, 그리고 Single Sign-On 필수 설정은 그대로 유지됩니다.
- SAML이 아닌 연결이 활성인 동안에는 설정 → 보안의 SAML 카드를 저장할 수 없습니다. 먼저 이 페이지에서 연결을 비활성화하십시오.