Skip to content

Commit 98cedcd

Browse files
committed
fix(sample): Implement nonce generation for Facebook sign-in process
1 parent 46b5f32 commit 98cedcd

1 file changed

Lines changed: 9 additions & 1 deletion

File tree

samples/Kapusch.Facebook.iOS.Sample/AppDelegate.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System.Security.Cryptography;
12
using Foundation;
23
using Kapusch.Facebook.iOS;
34
using UIKit;
@@ -29,10 +30,11 @@ public override bool FinishedLaunching(UIApplication application, NSDictionary?
2930

3031
try
3132
{
33+
var rawNonce = GenerateRawNonce();
3234
var result = await NativeFacebookLogin.SignInAsync(
3335
presenter.Handle,
3436
FacebookTrackingMode.Limited,
35-
rawNonce: null,
37+
rawNonce: rawNonce,
3638
CancellationToken.None
3739
);
3840

@@ -54,6 +56,12 @@ public override bool FinishedLaunching(UIApplication application, NSDictionary?
5456
return true;
5557
}
5658

59+
private static string GenerateRawNonce(int size = 32)
60+
{
61+
var bytes = RandomNumberGenerator.GetBytes(size);
62+
return Convert.ToBase64String(bytes).TrimEnd('=').Replace('+', '-').Replace('/', '_');
63+
}
64+
5765
public override bool OpenUrl(UIApplication application, NSUrl url, NSDictionary options) =>
5866
NativeFacebookLogin.HandleOpenUrl(
5967
application.Handle,

0 commit comments

Comments
 (0)