From 7b201e6db914968a6aa490d31643aeae31fda5ba Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 1 Apr 2020 12:29:19 -0400 Subject: [PATCH] Snippets for new Admin auth features --- .../FirebaseAuthSnippets.cs | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/FirebaseAdmin/FirebaseAdmin.Snippets/FirebaseAuthSnippets.cs b/FirebaseAdmin/FirebaseAdmin.Snippets/FirebaseAuthSnippets.cs index 0d9babc4..66285dc4 100644 --- a/FirebaseAdmin/FirebaseAdmin.Snippets/FirebaseAuthSnippets.cs +++ b/FirebaseAdmin/FirebaseAdmin.Snippets/FirebaseAuthSnippets.cs @@ -85,6 +85,15 @@ internal static async Task GetUserByPhoneNumberAsync(string phoneNumber) // [END get_user_by_phone] } + internal static async Task GetUserByProviderUidAsync() + { + // [START get_user_by_federated_id] + UserRecord userRecord = await FirebaseAuth.DefaultInstance.GetUserByProviderUidAsync("google.com", "google_uid1234"); + // See the UserRecord reference doc for the contents of userRecord. + Console.WriteLine($"Successfully fetched user data: {userRecord.Uid}"); + // [END get_user_by_federated_id] + } + internal static async Task CreateUserAsync() { // [START create_user] @@ -139,6 +148,40 @@ internal static async Task UpdateUserAsync(string uid) // [END update_user] } + internal static async Task UpdateUserFederatedAsync(string uid) + { + // [START update_user_link_federated] + // Link the user with a federated identity provider (like Google). + UserRecordArgs args = new UserRecordArgs() + { + Uid = uid, + ProviderToLink = new ProviderUserInfo() + { + ProviderId = "google.com", + Uid = "google_uid1234", + }, + }; + UserRecord userRecord = await FirebaseAuth.DefaultInstance.UpdateUserAsync(args); + // See the UserRecord reference doc for the contents of userRecord. + Console.WriteLine($"Successfully updated user: {userRecord.Uid}"); + // [END update_user_link_federated] + + // [START update_user_unlink_federated] + // Unlink the user from a federated identity provider (like Google). + UserRecordArgs args = new UserRecordArgs() + { + Uid = uid, + ProvidersToDelete = new List() + { + "google.com", + }, + }; + UserRecord userRecord = await FirebaseAuth.DefaultInstance.UpdateUserAsync(args); + // See the UserRecord reference doc for the contents of userRecord. + Console.WriteLine($"Successfully updated user: {userRecord.Uid}"); + // [END update_user_unlink_federated] + } + internal static async Task DeleteUserAsync(string uid) { // [START delete_user]