7.3. 모델 인터페이스


기능 인터페이스에 정의된 대부분의 메서드가 반환 또는 사용자의 표현으로 전달됩니다. 이러한 표현은 org.keycloak.models.UserModel 인터페이스에 의해 정의됩니다. 앱 개발자는 이 인터페이스를 구현해야 합니다. Red Hat Single Sign-On에서 사용하는 외부 사용자 저장소와 사용자 metamodel 간의 매핑을 제공합니다.

package org.keycloak.models;

public interface UserModel extends RoleMapperModel {
    String getId();

    String getUsername();
    void setUsername(String username);

    String getFirstName();
    void setFirstName(String firstName);

    String getLastName();
    void setLastName(String lastName);

    String getEmail();
    void setEmail(String email);
...
}

UserModel 구현에서는 사용자 이름, 이름, 이메일, 역할 및 그룹 매핑과 같은 기타 임의의 특성을 포함하여 사용자에 대한 메타데이터 읽기 및 업데이트에 대한 액세스 권한을 제공합니다.

org.keycloak.models 패키지에는 Red Hat Single Sign-On 메타 모델의 다른 부분, 즉Role Model, RoleModel,GroupModelClientModel 의 다른 부분을 나타내는 다른 모델 클래스가 있습니다.

7.3.1. 스토리지 ID

UserModel 의 중요한 방법 중 하나는 getId() 메서드입니다. UserModel 개발자를 구현하는 경우 사용자 ID 형식을 알고 있어야 합니다. 형식은 다음과 같아야 합니다.

"f:" + component id + ":" + external id

Red Hat Single Sign-On 런타임은 사용자 ID로 사용자를 조회해야 하는 경우가 많습니다. 사용자 ID에는 충분한 정보가 포함되어 있으므로 런타임에서 사용자를 찾기 위해 시스템의 모든 UserStorageProvider 를 쿼리할 필요가 없습니다.

구성 요소 ID는 ComponentModel.getId() 에서 반환된 ID입니다. ComponentModel 은 공급자 클래스를 생성할 때 매개 변수로 전달되므로 여기에서 가져올 수 있습니다. 외부 ID는 공급자 클래스에서 외부 저장소에서 사용자를 찾는 데 필요한 정보입니다. 이는 종종 사용자 이름 또는 uid입니다. 예를 들면 다음과 같습니다.

f:332a234e31234:wburke

런타임에서 id로 조회를 수행하는 경우 ID는 구성 요소 ID를 가져오기 위해 구문 분석됩니다. 구성 요소 ID는 원래 사용자를 로드하는 데 사용된 UserStorageProvider 를 찾는 데 사용됩니다. 그러면 해당 공급자가 ID를 전달합니다. 공급자는 다시 외부 ID를 가져오기 위해 ID를 구문 분석하고, 을 사용하여 외부 사용자 스토리지에서 사용자를 찾습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.