loginByThirdPart static method
Future<AuthResult>
loginByThirdPart(
- String code,
- String connection,
- String extIdpConnidentifier, [
- LoginOptions? options,
login by ThirdPart.
Implementation
static Future<AuthResult> loginByThirdPart(
String code, String connection, String extIdpConnidentifier,
[LoginOptions? options]) async {
Map map = {};
map.putIfAbsent('connection', () => connection);
map.putIfAbsent('extIdpConnidentifier', () => extIdpConnidentifier);
if (connection == 'apple') {
map.putIfAbsent('applePayload', () => {'code': code});
} else if (connection == 'wechat') {
map.putIfAbsent('wechatPayload', () => {'code': code});
} else if (connection == 'wechatwork') {
map.putIfAbsent('wechatworkPayload', () => {'code': code});
} else if (connection == 'wechatwork_agency') {
map.putIfAbsent('wechatworkAgencyPayload', () => {'code': code});
} else if (connection == 'lark_internal') {
map.putIfAbsent('larkInternalPayload', () => {'code': code});
} else if (connection == 'lark_public') {
map.putIfAbsent('larkPublicPayload', () => {'code': code});
} else if (connection == 'google') {
map.putIfAbsent('googlePayload', () => {'code': code});
} else if (connection == 'alipay') {
map.putIfAbsent('alipayPayload', () => {'code': code});
}
var jsonBody = jsonEncode(map);
if (options != null) {
jsonBody = jsonEncode(options.setValues(map));
}
final Result result = await post('/api/v3/signin-by-mobile', jsonBody);
AuthResult authResult = AuthResult(result);
authResult.user = await createUser(result);
return authResult;
}