final res = await account.createOAuth2Session(
provider: AuthProvider.google.name,
scopes: ['profile', 'email'],
);
I have this code to create session with that provider but I want to have name or email return, but in my case it returns null. So why do I need return values after create session? It because I need to trigger a function
await functions.createExecution(
functionId: newUserFunctionId,
data: jsonEncode(data),
xasync: true,
);
Since the appwrite still have issue on event trigger when creating a new account with google provider
If your goal is to do something with a function when a user is created, I recommend executing the function on session creation as well. Then, you can check if this is an oauth session and if an account was just created
Otherwise, the user should be passed to the function that the user executes. You can use the users API to get the user and that should have the email and name
The last option is to call account.get() client side.
alright thanks steve
{$id: 64ebf33b0a2b366370c2, $createdAt: 2023-08-28T01:07:07.069+00:00, userId: 64ebf33ac92690731d4a, expire: 2024-08-27 01:07:07.041, provider: google, providerUid: 101926932913220533651, providerAccessToken: ya29.a0AfB_byAcBR1WhRteyjfI9gIDZKqaY5IofjFQElwwQgD-yG2WyGXBUk87Lf5uRoMl5jYqnAoFjkDvsM7fqhGTt91XUotpU51uczwQMyCU3zIWk2AN38qCnz5EXTwnSzXnLJhrjrXhWQRQs1MYEIa5U3bBCeVAqWnEYuLUy-bDaCgYKARoSARISFQHsvYls0vuU9cOPARVTM_cvpTotNw0175, providerAccessTokenExpiry: 2023-08-28T02:07:06.041+00:00, providerRefreshToken: , ip: 158.62.81.232, osCode: AND, osName: Android, osVersion: 10, clientType: browser, clientCode: CM, clientName: Chrome Mobile, clientVersion: 116.0, clientEngine: Blink, clientEngineVersion: 116.0.0.0, deviceName: smartphone, deviceBrand: , deviceModel: , countryCode: ph, countryName: , current: false}
Invalid document structure: Missing required attribute "name"
I just do the execte when session creation, I just try to print the payload
final payload = jsonDecode(req.variables['APPWRITE_FUNCTION_EVENT_DATA']);
print(payload);
There is no email or name of the user
Right...you would need to fetch the user
Ohhh I seee
Recommended threads
- The current user is not authorized to pe...
I want to create a document associated with user after log in with OAuth. The user were logged in, but Appwrite said user is unauthorized. User is logged in wi...
- Attributes Confusion
```import 'package:appwrite/models.dart'; class OrdersModel { String id, email, name, phone, status, user_id, address; int discount, total, created_at; L...
- How to Avoid Double Requests in function...
I'm currently using Appwrite's `functions.createExecution` in my project. I want to avoid double requests when multiple actions (like searching or pagination) a...