From ce23503ee69628e1e91d39c2629f4231ccecc1dc Mon Sep 17 00:00:00 2001 From: Lachezar Todorov <38905492+lachezartodorov@users.noreply.github.com> Date: Thu, 26 Sep 2024 21:25:44 +0300 Subject: [PATCH 1/2] Update federated-auth.md for Facebook limited login --- docs/auth/federated-auth.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/docs/auth/federated-auth.md b/docs/auth/federated-auth.md index b8ed09dbe9d2..c67008fa7dbc 100644 --- a/docs/auth/federated-auth.md +++ b/docs/auth/federated-auth.md @@ -136,13 +136,25 @@ with the Facebook App ID and Secret set. Future signInWithFacebook() async { // Trigger the sign-in flow + final rawNonce = _generateRandomString(); + final nonce = sha256ofString(rawNonce); final LoginResult loginResult = await FacebookAuth.instance.login(); // Create a credential from the access token - final OAuthCredential facebookAuthCredential = FacebookAuthProvider.credential(loginResult.accessToken.token); + OAuthCredential? facebookAuthCredential; + if (loginResult.accessToken is LimitedToken) { + facebookAuthCredential = OAuthCredential( + providerId: 'facebook.com', + signInMethod: 'oauth', + idToken: loginResult.accessToken.tokenString, + rawNonce: rawNonce, + ); + } else { + facebookAuthCredential = FacebookAuthProvider.credential(loginResult.accessToken.token); + } // Once signed in, return the UserCredential - return FirebaseAuth.instance.signInWithCredential(facebookAuthCredential); + return FirebaseAuth.instance.signInWithCredential(facebookAuthCredential!); } ``` From c51caf7e135837b029d84eb1a877ecd04a017526 Mon Sep 17 00:00:00 2001 From: Lachezar Todorov <38905492+lachezartodorov@users.noreply.github.com> Date: Thu, 26 Sep 2024 21:41:54 +0300 Subject: [PATCH 2/2] Added code comments in federated-auth.md --- docs/auth/federated-auth.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/auth/federated-auth.md b/docs/auth/federated-auth.md index c67008fa7dbc..c4fdd192940f 100644 --- a/docs/auth/federated-auth.md +++ b/docs/auth/federated-auth.md @@ -136,8 +136,8 @@ with the Facebook App ID and Secret set. Future signInWithFacebook() async { // Trigger the sign-in flow - final rawNonce = _generateRandomString(); - final nonce = sha256ofString(rawNonce); + final rawNonce = _generateRandomString(); // You should implement this function + final nonce = _sha256ofString(rawNonce); // You should implement this function final LoginResult loginResult = await FacebookAuth.instance.login(); // Create a credential from the access token