initialSite method
Implementation
@override
void initialSite(
SocialSignInSiteConfig config, SocialSignInPageInfo pageInfo) {
try {
SocialSignInSite? siteInfo;
switch (config.site) {
case SocialPlatform.apple:
if (config is AppleSignInConfig) {
siteInfo = AppleSignIn.fromProfile(config);
}
break;
case SocialPlatform.facebook:
if (config is FacebookSignInConfig) {
siteInfo = FacebookSignIn.fromProfile(config);
}
break;
case SocialPlatform.google:
if (config is GoogleSignInConfig) {
siteInfo = GoogleSignIn.fromProfile(config);
}
break;
case SocialPlatform.microsoft:
if (config is MicrosoftSignInConfig) {
siteInfo = MicrosoftSignIn.fromProfile(config);
}
break;
default:
throw Exception("Unsupported social site!");
}
if (siteInfo == null) {
throw Exception("Site config miss match!");
}
siteInfo.pageInfo = pageInfo;
SocialSignInPlatform.lastSite = siteInfo;
SocialSignInPlatform.setSite(config.site, siteInfo);
} catch (e) {
rethrow;
}
}