authenticate method Null safety
- AuthPayload payload
override
Authenticate with Facebook
Implementation
@override
Future<AuthToken> authenticate(AuthPayload payload) async {
final LoginResult result = await _fbAuth.login(
permissions: ['public_profile', 'email'],
);
// When successful
if (result.status == LoginStatus.success) {
// you are logged
final AccessToken accessToken = result.accessToken!;
final userData = await _fbAuth.getUserData(
fields: 'email',
);
final socialPayload = AuthSocialPayload(
email: userData['email'],
externalId: accessToken.userId,
token: accessToken.token,
service: AuthAdapter.facebook,
);
return post(socialPayload);
}
// When failed
else {
final message = result.message ?? 'The login request was cancelled';
return AuthToken.failed(message);
}
}