链接用户身份 - Java SDK
在此页面上
Atlas Device SDK 已弃用。 有关详细信息,请参阅弃用页面。
Realm提供许多身份验证提供程序,用于将用户日志到您的应用。 每个提供商都会创建一个唯一的用户身份。 Realm允许您将多个档案合并为一个用户凭证。
在用户登录之前,必须链接凭证。 一旦使用凭证登录用户,就不能再链接该凭证。 此外,您不能将多个电子邮件/密码凭证链接在一起。
例子
考虑一个提供匿名登录功能的应用程序,它允许用户无需注册即可浏览该应用程序。 如果用户想继续使用该应用程序,他们可以使用另一个身份验证提供程序创建永久帐户。 Realm 创建一个新的 User
对象。 然后,应用程序可以将新身份与当前用户关联。
注意
根据您配置电子邮件/密码身份验证的方式,在创建并关联新帐户之前可能需要执行其他步骤(例如,确认电子邮件地址)。
您可以使用linkCredentials()或linkCredentialsAsync()关联身份。 这会将新用户身份链接到登录的User对象。
// The user has previously created an email/password account user.linkCredentialsAsync( Credentials.emailPassword(email, password), result -> { if (result.isSuccess()) { Log.v("EXAMPLE", "Successfully linked existing user " + "identity with email/password user: " + result.get()); } else { Log.e("EXAMPLE", "Failed to link user identities with: " + result.getError()); } });
// The user has previously created an email/password account user.linkCredentialsAsync( Credentials.emailPassword( email, password ) ) { result -> if (result.isSuccess) { Log.v( "EXAMPLE", "Successfully linked existing user identity " + "with email/password user: ${result.get()}" ) } else { Log.e( "EXAMPLE", "Failed to link user identities with: ${result.error}" ) } }