2017-09-27 91 views
1

그래서 인증 서버를 사용하는 모든 제품에서 단일 로그인을 원합니다.하지만 이는 직원뿐 아니라 auth0와 마찬가지로 keycloak에 사용해야합니다.사용자의 인증 서버로 KeyCloak을 사용해야합니까?

+0

죄송합니다. 질문이 명확하지 않습니다. Auth0이 애플리케이션간에 SSO를 제공 할 수 있는지, 그리고 B2C (연합) 기업뿐만 아니라 B2C (소셜 등)에 대해 SSO 동작을 제공하는지 여부를 묻는다면 예 Auth0를 확실히 사용할 수 있습니다. 위와 같은 것을 달성하기 위해 keycloak가 필요하지 않습니다. 이미 keycloak을 사용하고 있다면 auth0과 keycloak 사이의 연합도 가능하지만 여기서 특정 시나리오를 추측합니다. – arcseldon

+0

죄송합니다. @arcseldon, 그렇습니다. 우리는 누군가가 플레이 스토어에서 다운로드 할 수있는 앱이라는 점에서 우리는 다른 앱을 계획하고 있으며 싱글 사인 인을 원하기 때문에 사용자 인증을 위해 keycloak을 사용할 수 있는지 알고 싶습니다. –

+0

Augusto - 의견 내 대답에? 이것이 도움이된다면 인정 해주십시오. – arcseldon

답변

1

Auth0과 Keycloak 모두 소셜 (페이스 북, Google 등) 및/또는 사용자 이름 & 암호 인증만을 원한다고 가정하면 목표를 달성 할 수 있어야합니다.

Auth0가 덜 위험한 옵션인데 keycloak은 글로벌 24x7 지원 팀없이 생산 중단을 감당할 수있는 비상업적 인 &에 적합합니다. Auth0을 권장하는 몇 가지 다른 이유가 있습니다. 설명서는 세계 정상급이며 빠른 시작 샘플을 제공하므로 분만에 실행하고 고급 옵션 (암호없는 인증, MFA, 이상 탐지, x9 등)에 쉽게 액세스 할 수 있습니다. 안정성, 속도 제한, 광범위한 관리 API, 로그 어 그리 게이터로 로그 내보내기 등과 같은 모든 기능 확장. 어쨌든 프로젝트에 대한 행운과 분명히 가장 적합한 방법은 프로젝트 요구 사항에 따라 달라질 수 있습니다.

모바일을 사용하는 경우 Auth0은 모바일 (네이티브/하이브리드) 모바일 앱을 대상으로 필요한 특수 보안 플로우를 추가하는 데 많은 노력을 기울입니다. 예를 들어, /authorize 엔드 포인트를 사용할 때의 PKCE 사용. 이 문제를 해결하기 위해 키 클록이 어떻게 구현되었는지 확실하지 않으므로 IDM이 많이 잘못되었습니다.

1

는 Keycloak에도 몇 가지 장점이 있습니다 : 당신이 보스를 구입하는 경우

Keycloak 는 지원도 사용할 수 있습니다. Auth0 엔터프라이즈 버전보다 비용이 적을 수 있습니다. 사용자 정의 DB를 사용하려면 Enterprise 버전의 Auth0이 필요합니다.

Keycloak에는 Auth0에서 사용할 수없는 기능이 있습니다. 웹 관리 콘솔이나 사용자 지정 코드를 통해 세분화 된 사용 권한 및 RBAC (역할 기반 액세스 제어) 및 ABAC (특성 기반 액세스 제어)를 구성 할 수 있습니다. Auth0에서 사용자 규칙 (사용자 정의 JavaScript) 또는 권한 부여 플러그인 (코드 없음)을 통해 구현할 수도 있습니다. Keycloak에서는 코드없이보다 정교하게 할 수 있습니다. 여기서 좀 더 자세한 연구가 그들을 비교하는 재미있을 것입니다.

Keycloak은 백엔드에서 연결할 수 있고 액세스 토큰이 주어진 리소스에 액세스 할 수 있는지 여부를 확인할 수있는 정책 적용 자도 제공합니다. 이것이 Auth0에 포함되어 있는지 확신 할 수 없습니다. 그 위에 Keycloak은 주어진 리소스에 액세스하려고 할 때 어떤 권한이 필요한지 클라이언트 응용 프로그램에 알릴 수 있으므로 클라이언트에서이 코드를 코딩 할 필요가 없습니다. 워크 플로가 될 수 있습니다

  1. 클라이언트 응용 프로그램 자원 R.
  2. 클라이언트 응용 프로그램에 액세스하려고하는 것은 자원 R.
  3. Kecloak이 권한 P가 필요로하는 클라이언트 응용 프로그램을 말한다에 액세스 할 필요가있는 허가를 Keycloak 요청합니다.
  4. 클라이언트 응용 프로그램은 Keycloak에서 사용 권한 P가있는 액세스 토큰을 요청합니다.
  5. 클라이언트가 권한 P가 포함 된 액세스 토큰을 사용하여 리소스 서버에 요청합니다.
  6. 리소스 서버는 권한 P가 리소스 R에 액세스 할 수 있는지 여부를 Keycloak에 요청할 수 있습니다.
  7. Keycloak이 승인하면 리소스에 액세스 할 수 있습니다.

따라서 Keycloak에서 더 많은 것을 중앙 집중식으로 구성 할 수 있습니다. 이 워크 플로를 통해 클라이언트 및 리소스 서버는 더 많은 보안 논리 및 코드를 Keycloak에 아웃소싱 할 수 있습니다. Auth0에서는 아마도 2,3,6 단계를 직접 구현해야합니다.