패키지 io.realm.mongodb

클래스 사용자


  • public class User
    extends Object
    사용자 는 Realm 앱 기능에 액세스하기 위해 사용자의 메타데이터와 토큰을 보유합니다.

    사용자는 동기화된 Realm을 구성하는 데 사용되며 를 통해 Realm 앱 함수Functions 호출하고 를 통해 원격 Realm 앱 Mongo 데이터베이스 에 액세스할 수 있는 액세스 MongoClient 권한을 부여합니다.

    다음도 참조하세요.
    App.login(Credentials), Builder(User, String)
    • 메서드 세부 정보

      • getId

        public String getId()
        사용자의 서버 ID를 반환합니다.
        반환합니다:
        사용자의 서버 ID입니다.
      • getProfile

        public UserProfile getProfile()
        이 사용자의 프로필을 반환합니다.
        반환합니다:
        이 사용자의 프로필
      • getIdentities

        public List<UserIdentity> getIdentities()
        사용자 ID의 새 목록을 반환합니다.
        반환합니다:
        ID 목록.
        다음도 참조하세요.
        UserIdentity
      • getProviderType

        public Credentials.Provider getProviderType()
        사용자를 기록하는 데 사용되는 제공자 유형을 반환합니다.
        반환합니다:
        사용자의 제공자 유형
      • getAccessToken

        public String getAccessToken()
        사용자의 현재 액세스 토큰을 반환합니다.
        반환합니다:
        현재 액세스 토큰.
      • getRefreshToken

        public String getRefreshToken()
        사용자의 현재 새로 고침 토큰을 반환합니다.
        반환합니다:
        현재 새로 고침 토큰.
      • getDeviceId

        public String getDeviceId()
        사용자가 로그인한 기기의 고유 식별자를 반환합니다.
        반환합니다:
        사용자의 고유한 기기 식별자입니다.
      • getApp

        공개  getApp()
        이 사용자와 연결된 App 을 반환합니다.
        반환합니다:
        이 사용자와 연결된 App 입니다.
      • getCustomData

        공개 문서 getCustomData()
        Realm 앱에서 사용자와 연결된 사용자 지정 사용자 데이터를 반환합니다.

        데이터는 사용자의 액세스 토큰을 새로 고치거나 refreshCustomData() 을 명시적으로 호출할 때만 새로 고쳐집니다.

        반환합니다:
        사용자와 연결된 사용자 지정 사용자 데이터입니다.
      • refreshCustomData

        공개 문서 refreshCustomData()
        Realm 앱에서 사용자 지정 사용자 데이터를 다시 가져옵니다.
        반환합니다:
        사용자와 연결된 업데이트된 사용자 지정 사용자 데이터입니다.
        예외 처리:
        AppException - 요청이 어떤 방식으로든 실패한 경우.
      • refreshCustomData

        public RealmAsyncTask refreshCustomData​(App.Callback<Document> callback)
        Realm 앱에서 사용자 지정 사용자 데이터를 비동기적으로 다시 가져옵니다.

        이는 refreshCustomData() 의 비동기 변형입니다.

        매개변수:
        callback - 요청의 결과 또는 오류를 수신할 콜백입니다.
        반환합니다:
        진행 중인 작업을 나타내는 작업입니다.
        예외 처리:
        IllegalStateException - 루퍼 스레드에서 호출되지 않은 경우.
      • isLoggedIn

        공개 부울 isLoggedIn()
        사용자가 현재 로그인되어 있으면 true를 반환합니다. 이 사용자가 여전히 MongoDB Realm 앱에 로그인되어 있는지 여부를 반환합니다.
        반환합니다:
        true 여전히 로그인되어 있으면 false 을 입력합니다.
      • 링크 자격 증명

        public 사용자 링크Credentials​(Credentials credentials)
        현재 사용자를 지정된 자격 증명으로 나타나는 새 사용자 ID와 연결합니다.

        더 많은 자격 증명을 가진 사용자를 연결하면 사용자가 이러한 자격 증명 중 하나에 로그인할 수 있습니다. 또한 익명 사용자를 다음과 같이 연결하여 '업그레이드'할 수도 있습니다. 이메일/비밀번호 자격 증명.

         
         // Example
         App app = new App("app-id")
         User user = app.login(Credentials.anonymous());
         user.linkCredentials(Credentials.emailPassword("email", "password"));
         
         

        참고: MongoDB Realm의 기존 사용자 두 명을 연결할 수 없습니다. 제공된 자격 증명은 다른 사용자가 사용한 적이 없어야 합니다.

        매개변수:
        credentials - 현재 사용자와 연결할 자격 증명입니다.
        반환합니다:
        User 자격 증명이 연결되었습니다.
        예외 처리:
        IllegalStateException - 현재 로그인한 사용자가 없는 경우.
      • LinkCredentialsAsync

        public RealmAsyncTask linkCredentialsAsync​(Credentials credentials,
                                                   App.Callback<User> callback)
        현재 사용자를 지정된 자격 증명으로 나타나는 새 사용자 ID와 연결합니다.

        더 많은 자격 증명을 가진 사용자를 연결하면 사용자가 이러한 자격 증명 중 하나에 로그인할 수 있습니다. 또한 익명 사용자를 다음과 같이 연결하여 '업그레이드'할 수도 있습니다. 이메일/비밀번호 자격 증명.

         
         // Example
         App app = new App("app-id")
         User user = app.login(Credentials.anonymous());
         user.linkCredentials(Credentials.emailPassword("email", "password"));
         
         

        참고: MongoDB Realm의 기존 사용자 두 명을 연결할 수 없습니다. 제공된 자격 증명은 다른 사용자가 사용한 적이 없어야 합니다.

        매개변수:
        credentials - 현재 사용자와 연결할 자격 증명입니다.
        callback - 사용자 ID가 연결되었거나 실패했을 때 콜백합니다. 콜백은 항상 이 메서드가 호출되는 동일한 스레드에서 발생합니다.
        예외 처리:
        IllegalStateException - 이벤트 루프가 아닌 스레드에서 호출된 경우.
      • 제거

        공개 사용자 remove()가 AppException을 발생시킵니다.
        이 메서드를 호출하면 사용자 및 사용자가 가진 모든 Realm이 장치에서 제거됩니다. 서버에서 데이터가 제거되지 않습니다. 이 메서드를 호출할 때 사용자가 로그인되어 있었다면 데이터가 삭제되기 전에 사용자가 로그아웃됩니다.
        반환합니다:
        제거된 사용자입니다.
        예외 처리:
        AppException - 사용자를 제거하는 동안 오류가 발생한 경우.
      • removeAsync

        public RealmAsyncTask removeAsync​(App.Callback<User> callback)
        이 메서드를 호출하면 사용자와 사용자가 가진 모든 Realm이 장치에서 비동기적으로 제거됩니다. 서버에서 데이터가 제거되지 않습니다. 이 메서드를 호출할 때 사용자가 로그인되어 있었다면 데이터가 삭제되기 전에 사용자가 로그아웃됩니다.
        매개변수:
        callback - 사용자 제거가 완료되었거나 실패했을 때 콜백합니다. 콜백은 항상 이 메서드가 호출되는 동일한 스레드에서 발생합니다.
        예외 처리:
        IllegalStateException - 이벤트 루프가 아닌 스레드에서 호출된 경우.
      • 로그아웃

        public void logOut()
                    throws AppException
        Realm 앱에서 사용자를 로그아웃합니다. 이렇게 하면 기기에서 사용자의 등록이 해제되고 사용자의 Realm과의 동기화가 중지됩니다. remove() 이(가) 호출되기 전에는 사용자가 소유한 Realm이 기기에서 삭제되지 않습니다.

        Realm 앱이 로그아웃을 확인하면 등록된 모든 AuthenticationListener 에게 알림이 전송되고 이 장치에서 사용자 자격 증명이 삭제됩니다.

        익명 사용자를 로그아웃하면 User.State.LOGGED_OUT 로 표시하지 않고 즉시 제거됩니다.

        다른 모든 사용자는 User.State.LOGGED_OUT 로 표시되며 여전히 App.allUsers() 에 의해 반환됩니다. remove() 를 호출하여 완전히 제거할 수 있습니다.

        예외 처리:
        AppException - 사용자를 Realm 앱에서 로그아웃하는 동안 오류가 발생한 경우
      • logOutAsync

        public RealmAsyncTask logOutAsync​(App.Callback<User> callback)
        Realm 앱에서 사용자를 비동기적으로 로그아웃합니다. 이렇게 하면 기기에서 사용자의 등록이 해제되고 사용자의 Realm과의 동기화가 중지됩니다. remove() 이(가) 호출되기 전에는 사용자가 소유한 Realm이 기기에서 삭제되지 않습니다.

        Realm 앱이 로그아웃을 확인하면 등록된 모든 AuthenticationListener 에게 알림이 전송되고 이 장치에서 사용자 자격 증명이 삭제됩니다.

        익명 사용자를 로그아웃하면 User.State.LOGGED_OUT 로 표시하지 않고 즉시 제거됩니다.

        다른 모든 사용자는 User.State.LOGGED_OUT 로 표시되며 여전히 App.allUsers() 에 의해 반환됩니다. remove() 를 호출하여 완전히 제거할 수 있습니다.

        매개변수:
        callback - 로그아웃 완료 또는 실패 시 콜백합니다. 콜백은 항상 이 메서드가 호출되는 동일한 스레드에서 발생합니다.
        예외 처리:
        IllegalStateException - 이벤트 루프가 아닌 스레드에서 호출된 경우.
      • getApiKeys

        public ApiKeyAuth getApiKeys()
        현재 사용자가 제어하는 API 키를 관리하기 위한 래퍼를 반환합니다.
        반환합니다:
        현재 사용자가 제어하는 API 키를 관리하기 위한 래퍼입니다.
        예외 처리:
        IllegalStateException - 현재 로그인한 사용자가 없는 경우.
      • getFunctions

        public Functions getFunctions()
        MongoDB Realm 함수를 호출하기 위한 functions 관리자를 반환합니다.

        그러면 연결된 앱의 기본 코덱 레지스트리를 사용하여 인수와 결과를 인코딩하고 디코딩합니다.

        다음도 참조하세요.
        Functions
      • getFunctions

        public Functions getFunctions(CodecRegistry CodecRegistry)
        인수와 결과를 인코딩하고 디코딩하기 위한 사용자 지정 코덱 레지스트리를 사용하여 Realm 함수를 호출하기 위한 함수 관리자를 반환합니다.
        매개변수:
        codecRegistry - 원격 Realm 앱에 대한 인수와 결과를 인코딩 및 디코딩하는 데 사용할 코덱 레지스트리입니다.
        다음도 참조하세요.
        Functions
      • getPush

        public push getPush​(String serviceName)
        푸시 알림 등록을 관리하기 위한 Push 인스턴스를 반환합니다.
        매개변수:
        serviceName - 서버에 연결하는 데 사용되는 서비스 이름입니다.
      • getMongoClient

        public MongoClient getMongoClient​(문자열 serviceName)
        데이터베이스의 문서에 액세스하기 위한 MongoClient 인스턴스를 반환합니다.
        매개변수:
        serviceName - 서버에 연결하는 데 사용되는 서비스 이름입니다.
      • 같음

        public boolean equals(@Nullable
                              객체 o)
        두 명의 사용자가 동일한 사용자 ID를 가지고 있고 동일한 앱에 연결된 경우 동등한 것으로 간주됩니다.
        재정의:
        equals 수업 중 Object
      • 해시 코드

        public int 해시 코드()
        재정의:
        hashCode 수업 중 Object