首页 > 解决方案 > 使用 Flutter 应用程序登录 Salesforce CRM

问题描述

您是否尝试过使用 Flutter 应用程序登录 Salesforce CRM?我正在使用 Oauth2 包(https://pub.dev/packages/oauth2/example)和资源所有者密码授予,但它有一些错误。这里的 _login() 方法:

    Future<void> _login() async {
    final authorizationEndpoint =
        Uri.parse('https://login.salesforce.com/services/oauth2/authorize');

    // The user should supply their own username and password.
    final username = 'tqtai@cts.com.vn';
    final password = 'anhtak@1234SYxVnDtJBIucYIZN7jhbdd7Fr';

    final identifier = '3MVG9YDQS5WtC11rWdcCAUYsljvKVu5IzgImWYMf_7GjORIztH1G_pO8GDxX4P3r6mSw3kZknaQ6W5C';
    final secret = 'B3E1C3349AAFEB99A98E29A9F7CB3D8F7B56A62B640651F0869F74A0A2B092';

    var client = await oauth2.resourceOwnerPasswordGrant(
        authorizationEndpoint, username, password,
        identifier: identifier, secret: secret);

    File('~/.myapp/credentials.json').writeAsString(client.credentials.toJson());
    print('asdasdas');
}

这是错误:

E/flutter ( 6464): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: FormatException: Invalid OAuth response for "https://login.salesforce.com/services/oauth2/authorize": Content-Type was "null", expected "application/json".
E/flutter ( 6464):
E/flutter ( 6464): error=unsupported_response_type&error_description=response%20type%20not%20supported
E/flutter ( 6464): #0      handleAccessTokenResponse
package:oauth2/src/handle_access_token_response.dart:98
E/flutter ( 6464): #1      resourceOwnerPasswordGrant
package:oauth2/src/resource_owner_password_grant.dart:86
E/flutter ( 6464): <asynchronous suspension>
E/flutter ( 6464): #2      _LoginScreenState._login
package:sf_clone_flutter/login/login.dart:116
E/flutter ( 6464): <asynchronous suspension>
E/flutter ( 6464):

太感谢了!

标签: flutterdartoauth-2.0salesforce

解决方案


推荐阅读