signIn method Null safety

dynamic signIn()

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);
}