signIn method Null safety
Signs the user in with their apple credentials
Implementation
signIn() async {
final idCredentials = await SignInWithApple.getAppleIDCredential(
scopes: [
AppleIDAuthorizationScopes.email,
AppleIDAuthorizationScopes.fullName,
],
);
final authCredentials = AppleAuthCredentials(
userIdentifier: idCredentials.userIdentifier ?? '',
givenName: idCredentials.givenName ?? '',
familyName: idCredentials.familyName ?? '',
email: idCredentials.email ?? '',
identityToken: idCredentials.identityToken ?? '',
);
final storedCreds = await storeCredentials(authCredentials);
final socialPayload = AuthSocialPayload(
email: storedCreds.email,
externalId: authCredentials.userIdentifier,
token: authCredentials.identityToken,
service: AuthAdapter.apple,
);
return post(socialPayload);
}