login With OAuth Failed: when i cliick to login with any of the following (facebook, gmail or apple) am being redirected out of the app to enter my detail, after entering my details, i'm redirected back to my app, sometime before it redirected to my app i will get missing callback link,
- sometimes, it instead for it to open the app, it will forecfully go back to the oauth provider,
- There is never error output when i enter my login details: 3a. User detail is inserted into the db
- i have my domain name amongst the platform
- i have tested this on real device and it issues persists
here is my code:
Controller
isLoading.value = true;
try {
await _appwrite.loginWithOAuth(provider);
currentUserId.value = await _appwrite.getCurrentUserId();
handlePostLogin();
} catch (e) {
Get.snackbar(
'Error',
e.toString(),
duration: const Duration(seconds: 20),
);
} finally {
isLoading.value = false;
}
}```
*Service*
``` Future<void> loginWithOAuth(String provider) async {
try {
await account.createOAuth2Session(
provider: _mapProvider(provider),
);
// :white_check_mark: Wait until Appwrite knows about the new session
var user = await _waitForSession();
String fullName = user.name ?? '';
String username;
if (fullName.trim().isEmpty) {
fullName = _deriveNameFromEmail(user.email ?? '');
username = fullName.split(' ').first;
await account.updateName(name: fullName);
// Refresh the user object to reflect the change
user = await account.get();
} else {
username = fullName.split(' ').first;
}
await functions.createExecution(
functionId: createProfileID,
body: jsonEncode({
'userId': user.$id,
'username': user.$id,
'fullName': fullName,
}),
);
//insert the user to my php server
await ApiService.createProfile(
userId: user.$id,
userName: user.$id,
fullName: fullName,
email: user.email,
password: user.password.toString(),
);
//sharePreference
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('userId', user.$id);
prefs.setBool('isUserLogin', true);
} catch (e, s) {
debugPrint('OAuth login error: $e\n$s');
throw Exception('OAuth login failed');
}
}```
<activity android:exported="true" android:name="com.linusu.flutter_web_auth_2.CallbackActivity" >
<intent-filter android:label="flutter_web_auth_2">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="my-appwrite-call-back" />
</intent-filter>
</activity>```
```<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>io.appwrite</string>
<key>CFBundleURLSchemes</key>
<array>
<string>my-appwrite-callback</string>
</array>
</dict>
</array>```
Recommended threads
- SMS - Github Student Pack
I have a project on Appwrite Github Student Pack but unable to send any message as I get error: "Phone authentication limit for your organization has exceeded. ...
- Dart runtime functions are timing out an...
My appwrite function is not executing at all and showing the error in error logs: I tried redeploying. Still no luck. I have set the function to ise maximum re...
- AppWrite OSS sponsorship
Hello I have applied for AppWrite OSS sponsorship about a month ago. I haven't received any email response so far. Can you you help me please? My email for appl...