Hello Appwriter,
i'm creating an OAuth Login with Apple, i have configure everything on my Apple Developer Account and in my Appwrite Console, When i Login with Apple, the user Full name and Email is Created in the Appwrite Cloud Cosole (Auth)
I dont know what's wrong in my code, i keep getting this error response:
GOING TO ROUTE /App
flutter: #0 ClientIO.webAuth.<anonymous closure> (package:appwrite/src/client_io.dart:371:9)
flutter: <asynchronous suspension>
flutter: #1 AppwriteService.loginWithOAuth (package:prayerbuddynewlook/services/appwrite_service.dart:88:7)
flutter: <asynchronous suspension>
flutter: #2 AuthController.loginWithOAuth (package:prayerbuddynewlook/controllers/auth_controller.dart:41:7)
flutter: <asynchronous suspension>```
**here is my Appwrite Services:**
```Future<void> loginWithOAuth(String provider) async {
try {
final redirectUri = 'https://prayerbuddyapp.joons-me.com';
await account.createOAuth2Session(
provider: _mapProvider(provider), // 'facebook', 'google', 'apple'
success: '$redirectUri/loginSuccess',
failure: '$redirectUri/loginFail',
);
_currentUserId = null;
} catch (e, s) {
debugPrint('OAuth login error: $e\n$s');
throw Exception('OAuth login failed');
}
}
OAuthProvider _mapProvider(String name) {
switch (name.toLowerCase()) {
case 'google':
return OAuthProvider.google;
case 'facebook':
return OAuthProvider.facebook;
case 'apple':
return OAuthProvider.apple;
// add more if you need them
default:
throw Exception('Unknown provider $name');
}```
Here is my Controller
isLoading.value = true;
try {
await _appwrite.loginWithOAuth(provider);
currentUserId.value = await _appwrite.getCurrentUserId();
print('currentUserId ${currentUserId.value}');
print("LoginSuccess Controller");
Get.offAll(() => const App(login: true));
} catch (e) {
Get.snackbar('Error', e.toString());
} finally {
isLoading.value = false;
}
}```
Here is my DeepLink
Future<void> initDeepLinks() async {
// print('Deep-Initial');
// Check initial link if app was in cold state (terminated)
final appLink = await _appLinks.getInitialLink();
if (appLink != null) {
var uri = Uri.parse(appLink.toString());
var pathName = uri.pathSegments[0];
if (pathName == 'loginSuccess') {
print("LoginSuccess Deeplink");
Get.to(() => const App(login: true));
} else if (pathName == 'loginFail') {
print("LoginFail Deeplink");
Get.to(() => const Login());
} else if (pathName == 'series') {
Get.to(() => const App(login: true));
} else if (pathName == 'messageSeries') {
var seriesId = uri.queryParameters["seriesId"];
var vidId = uri.queryParameters["vidId"];
// Get.to(() => WatchVideoDeepLink(seriesId: seriesId.toString(), vidId: vidId.toString()));
}
//Get.to(() => const Login());
}
}
each and everytime LoginSuccess Deeplink is printed out, but the error output above is still be outputted
Recommended threads
- Migration and Function glitch
I am trying to migrate from non pro appwrite project to pro appwrite project all my data but it's stuck in processing.
- Unable to signup to appwrite cloud
When attempting to create an online cloud account on appwrite.io, I get the following message : "This email address must already be in its canonical form. Pleas...
- Email address must be in its canonical f...
Hello, Recently I was trying to signup with my GitHub account with appwrite account for availing the student benifits but while trying to signup I saw such erro...