Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 3115829a authored by tobiasKaminsky's avatar tobiasKaminsky
Browse files

use token and packageName for verification

parent 98a06067
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -38,17 +38,15 @@ android {
    }
}


dependencies {
    implementation 'com.android.support:support-v4:27.1.1'

    // https://mvnrepository.com/artifact/com.google.code.gson/gson
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.1'
    implementation 'com.google.code.gson:gson:2.8.2'

    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
    // Because RxAndroid releases are few and far between, it is recommended you also
    // explicitly depend on RxJava's latest version for bug fixes and new features.
    compile 'io.reactivex.rxjava2:rxjava:2.1.0'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.4'

    compile group: 'commons-io', name: 'commons-io', version: '2.0.1'
    implementation 'commons-io:commons-io:2.6'
}
+9 −9
Original line number Diff line number Diff line
@@ -108,32 +108,32 @@ public class AccountImporter {
    }

    // Get the AuthToken (Password) for a selected account
    public static SingleSignOnAccount GetAuthToken(Context context, Account account) throws AuthenticatorException, OperationCanceledException, IOException {
    public static SingleSignOnAccount GetAuthToken(Context context, Account account) throws AuthenticatorException, 
            OperationCanceledException, IOException {
        final AccountManager accMgr = AccountManager.get(context);
        Bundle options = new Bundle();
        accMgr.invalidateAuthToken(account.type, AUTH_TOKEN);
        //accMgr.getAuthToken(account, AUTH_TOKEN, null, true, new AccountManagerCallback<Bundle>() {


        // Synchronously access auth token
        Bundle future;
        if (context instanceof Activity) {
            future = accMgr.getAuthToken(account, AUTH_TOKEN, options, (Activity) context, null, null).getResult(); // Show activity
            // Show activity
            future = accMgr.getAuthToken(account, AUTH_TOKEN, options, (Activity) context, null, null).getResult(); 
        } else {
            future = accMgr.getAuthToken(account, AUTH_TOKEN, options, true, null, null).getResult(); // Show notification instead
            // Show notification instead
            future = accMgr.getAuthToken(account, AUTH_TOKEN, options, true, null, null).getResult();
        }

        String auth_token = future.getString(AccountManager.KEY_AUTHTOKEN);
        String auth_account_type = future.getString(AccountManager.KEY_ACCOUNT_TYPE);
        accMgr.invalidateAuthToken(auth_account_type, auth_token);

        //String accountName = future.getString(AccountManager.KEY_ACCOUNT_NAME);
        String username = future.getString("username");
        String password = future.getString("password");
        String token = future.getString("token");
        String server_url = future.getString("server_url");
        boolean dhnv = future.getBoolean("disable_hostname_verification");
        String packageName = context.getPackageName();

        return new SingleSignOnAccount(account.name, username, password, server_url, dhnv);
        return new SingleSignOnAccount(account.name, username, token, server_url, packageName);
    }


+6 −1
Original line number Diff line number Diff line
@@ -69,7 +69,11 @@ public class NextcloudAPI {
    }

    private String getAccountToken() {
        return mAccount.password;
        return mAccount.token;
    }
    
    private String getPackageName() {
        return mAccount.packageName;
    }

    public void start(Context context, ApiConnectedListener callback) {
@@ -189,6 +193,7 @@ public class NextcloudAPI {
        // Log.d(TAG, request.url);
        request.accountName = getAccountName();
        request.token = getAccountToken();
        request.packageName = getPackageName();


        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ public class NextcloudRequest implements Serializable {
    public String requestBody;
    public String url;
    public String token;
    public String packageName;
    public String accountName;

    private NextcloudRequest() { }
+5 −6
Original line number Diff line number Diff line
@@ -22,18 +22,17 @@ package de.luhmer.owncloud.accountimporter.helper;

public class SingleSignOnAccount {

    public SingleSignOnAccount(String name, String username, String password, String url, Boolean disableHostnameVerification) {
    public SingleSignOnAccount(String name, String username, String token, String url, String packageName) {
        this.name = name;
        this.username = username;
        this.password = password;
        this.token = token;
        this.packageName = packageName;
        this.url = url;
        this.disableHostnameVerification = disableHostnameVerification;
    }

    public String name; // Name of the account in android
    public String username;
    public String password;
    public String token;
    public String packageName;
    public String url;
    public Boolean disableHostnameVerification;

}