2

代替タイトルは、「特定の認証プロバイダーを介してログインした Realm ユーザーを確認する方法は?」です。または「ユーザーが特定の認証プロバイダー/メソッドを使用していることを確認する方法は?」


アプリの場合は、匿名ユーザーで開始し、 を使用して別の認証プロバイダーにリンクしますuser.linkUser(credentials: credential)。はuser常に匿名ユーザーまたはリンクされたユーザーのいずれかの値を持っているためです。

現在ログインしているユーザーが、「Apple でサインイン」や「Google」などの別の認証プロバイダーに既にリンクされているかどうかを知るにはどうすればよいですか? 認証プロバイダーのサインイン ボタンを非表示にするには、この情報を知る必要があります。

4

2 に答える 2

1

RealmSwift 10.12.0 で

identifiersの下に物件がありますuser。の配列ですRLMUserIdentity。ユーザー ID にはproviderType文字列https://docs.mongodb.com/realm-sdks/objc/latest/Classes/RLMUserIdentity.html#/c:objc(cs)RLMUserIdentity(py)providerTypeが含まれます

以下はサンプル出力です

print(">>> DEBUG:", user.identities.map { identity in (identity.identifier, identity.providerType)

[("611a27f9a1575af5ed15234e-lnnaeteekatdftrnsmpbpldr", "anon-user"), ("000766.23cbd125344c140b18ef0baa4deccaf32.61234", "oauth2-apple")]

ユーザーIDに気になるプロバイダーが含まれているかどうかを確認し、そのプロバイダーの「サインイン」ボタン/リンクを非表示にすることができます

https://github.com/realm/realm-cocoa/blob/d407cdc1c8be5f04c3decd37b88524855edfa7e8/Realm/RLMCredentials.mm

于 2021-08-16T09:14:26.940 に答える