authWithOAuth2Code method
Authenticate an auth record with an OAuth2 client provider and returns a new auth token and record data (including the OAuth2 user profile).
On success this method automatically updates the client's AuthStore.
Implementation
Future<RecordAuth> authWithOAuth2Code(
String provider,
String code,
String codeVerifier,
String redirectURL, {
Map<String, dynamic> createData = const {},
Map<String, dynamic> body = const {},
Map<String, dynamic> query = const {},
Map<String, String> headers = const {},
String? expand,
String? fields,
}) {
final enrichedBody = Map<String, dynamic>.of(body);
enrichedBody["provider"] ??= provider;
enrichedBody["code"] ??= code;
enrichedBody["codeVerifier"] ??= codeVerifier;
enrichedBody["redirectURL"] ??= redirectURL;
enrichedBody["createData"] ??= createData;
final enrichedQuery = Map<String, dynamic>.of(query);
enrichedQuery["expand"] ??= expand;
enrichedQuery["fields"] ??= fields;
return client
.send<Map<String, dynamic>>(
"$baseCollectionPath/auth-with-oauth2",
method: "POST",
body: enrichedBody,
query: enrichedQuery,
headers: headers,
)
.then(_authResponse);
}