Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/ /

链接用户身份 - .NET SDK

在此页面上

  • 例子

Realm提供许多身份验证提供程序,用于将用户日志到您的应用。 每个提供商都会创建一个唯一的用户身份。 Realm允许您将多个档案合并为一个用户凭证。

考虑一个提供匿名登录的应用程序。 这样,用户无需注册即可探索该应用。 如果用户喜欢该应用程序,他们就会创建永久帐户。 他们使用 SSO 或电子邮件/密码身份验证进行注册。 默认情况下,这会创建一个新的 User对象。 应用程序必须将新身份与原始用户关联。

您可以使用LinkCredentialsAsync()链接身份。 这会将身份验证提供者链接到已登录的User对象。

// 1) A user logs on anonymously:
var anonUser = await app.LogInAsync(Credentials.Anonymous());
// 2) They create some data, and then decide they want to save
// it, which requires creating an Email/Password account.
// 3) We prompt the user to log in, and then use that info to
// register the new EmailPassword user, and then generate an
// EmailPassword credential to link the existing anonymous
// account:
var email = "caleb@mongodb.com";
var password = "MySekritPwd";
await app.EmailPasswordAuth.RegisterUserAsync(
email, password);
var officialUser = await anonUser.LinkCredentialsAsync(
Credentials.EmailPassword(email, password));

在上面的示例中,我们必须先注册新的电子邮件/密码用户,然后才能链接。 如果您正在使用任何其他身份验证提供程序,则无需执行此步骤。 以下示例使用Google身份验证而不是 EmailPassword:

var anonUser = await app.LogInAsync(Credentials.Anonymous());
var officialUser = await anonUser.LinkCredentialsAsync(
Credentials.Google("<google-token>", GoogleCredentialType.AuthCode));

后退

多用户应用程序

在此页面上