[英]Xamarin Forms Firebase Auth OAuth sign in for Apple, Microsoft, Twitter, ...?
For Google sign in I used their SDK, but Firebase supports Apple (and others) over OAuth and I'm not sure how to translate their examples to Xamarin Forms.
Xamarin.Essentials
提供對 Apple 登錄的支持,但僅在iOS上。 使用 Firebase 它的工作方式如下:
if (!UIDevice.CurrentDevice.CheckSystemVersion(13, 0))
throw new AppleSignInCanceledException("Apple sign in requires iOS 13+, sorry.");
var signInResult = await AppleSignInAuthenticator.AuthenticateAsync();
var credential = OAuthProvider.GetCredential("apple.com", signInResult.IdToken, signInResult.AccessToken);
var authResult = await Auth.DefaultInstance.SignInWithCredentialAsync(credential);
AuthToken = await authResult.User.GetIdTokenAsync();
在Android 上,您可以使用這種簡單的方法,它使用瀏覽器 window:
var provider = OAuthProvider.NewBuilder("apple.com");
await FirebaseAuth.Instance.StartActivityForSignInWithProvider(MainActivity.SharedInstance, provider.Build());
var result = await FirebaseAuth.Instance.CurrentUser.GetIdToken(false);
AuthToken = (result as GetTokenResult)?.Token;
這也適用於 Microsoft、Twitter 和 Firebase 支持的其他提供商。
在iOS上,OAuth 實現可能如下所示(未經測試,請發表評論):
var provider = OAuthProvider.Create("microsoft.com");
var authResult = await Auth.DefaultInstance.SignInWithProviderAsync(provider, null);
AuthToken = await authResult.User.GetIdTokenAsync();
有什么改進嗎? 我很高興收到你的來信。 或者您正在尋找Google 實施?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.