mirror of
				https://github.com/owncloud/android-library.git
				synced 2025-10-31 02:17:41 +00:00 
			
		
		
		
	make oauth work
This commit is contained in:
		
							parent
							
								
									8540eed348
								
							
						
					
					
						commit
						f110992489
					
				| @ -25,6 +25,7 @@ package com.owncloud.android.lib.common.authentication; | |||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
| import com.owncloud.android.lib.common.http.HttpClient; | import com.owncloud.android.lib.common.http.HttpClient; | ||||||
|  | import com.owncloud.android.lib.common.http.interceptors.BarearAuthInterceptor; | ||||||
| import com.owncloud.android.lib.common.http.interceptors.BasicAuthInterceptor; | import com.owncloud.android.lib.common.http.interceptors.BasicAuthInterceptor; | ||||||
| import com.owncloud.android.lib.common.http.interceptors.HttpInterceptor.RequestInterceptor; | import com.owncloud.android.lib.common.http.interceptors.HttpInterceptor.RequestInterceptor; | ||||||
| 
 | 
 | ||||||
| @ -71,6 +72,9 @@ public class OwnCloudBasicCredentials implements OwnCloudCredentials { | |||||||
|             if (requestInterceptor instanceof BasicAuthInterceptor) { |             if (requestInterceptor instanceof BasicAuthInterceptor) { | ||||||
|                 requestInterceptors.remove(requestInterceptor); |                 requestInterceptors.remove(requestInterceptor); | ||||||
|             } |             } | ||||||
|  |             if(requestInterceptor instanceof BarearAuthInterceptor) { | ||||||
|  |                 requestInterceptors.remove(requestInterceptor); | ||||||
|  |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         HttpClient.getOkHttpInterceptor() |         HttpClient.getOkHttpInterceptor() | ||||||
|  | |||||||
| @ -23,6 +23,8 @@ | |||||||
|  */ |  */ | ||||||
| package com.owncloud.android.lib.common.authentication; | package com.owncloud.android.lib.common.authentication; | ||||||
| 
 | 
 | ||||||
|  | import android.app.DownloadManager; | ||||||
|  | 
 | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| 
 | 
 | ||||||
| @ -33,6 +35,10 @@ import org.apache.commons.httpclient.auth.AuthState; | |||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
| import com.owncloud.android.lib.common.authentication.oauth.BearerAuthScheme; | import com.owncloud.android.lib.common.authentication.oauth.BearerAuthScheme; | ||||||
| import com.owncloud.android.lib.common.authentication.oauth.BearerCredentials; | import com.owncloud.android.lib.common.authentication.oauth.BearerCredentials; | ||||||
|  | import com.owncloud.android.lib.common.http.HttpClient; | ||||||
|  | import com.owncloud.android.lib.common.http.interceptors.BarearAuthInterceptor; | ||||||
|  | import com.owncloud.android.lib.common.http.interceptors.BasicAuthInterceptor; | ||||||
|  | import com.owncloud.android.lib.common.http.interceptors.HttpInterceptor; | ||||||
| 
 | 
 | ||||||
| public class OwnCloudBearerCredentials implements OwnCloudCredentials { | public class OwnCloudBearerCredentials implements OwnCloudCredentials { | ||||||
| 
 | 
 | ||||||
| @ -49,6 +55,22 @@ public class OwnCloudBearerCredentials implements OwnCloudCredentials { | |||||||
|         AuthPolicy.registerAuthScheme(BearerAuthScheme.AUTH_POLICY, BearerAuthScheme.class); |         AuthPolicy.registerAuthScheme(BearerAuthScheme.AUTH_POLICY, BearerAuthScheme.class); | ||||||
|         AuthPolicy.registerAuthScheme(AuthState.PREEMPTIVE_AUTH_SCHEME, BearerAuthScheme.class); |         AuthPolicy.registerAuthScheme(AuthState.PREEMPTIVE_AUTH_SCHEME, BearerAuthScheme.class); | ||||||
| 
 | 
 | ||||||
|  |         final ArrayList<HttpInterceptor.RequestInterceptor> requestInterceptors = | ||||||
|  |                 HttpClient.getOkHttpInterceptor().getRequestInterceptors(); | ||||||
|  | 
 | ||||||
|  |         // Clear previous basic credentials | ||||||
|  |         for (HttpInterceptor.RequestInterceptor requestInterceptor : requestInterceptors) { | ||||||
|  |             if (requestInterceptor instanceof BasicAuthInterceptor) { | ||||||
|  |                 requestInterceptors.remove(requestInterceptor); | ||||||
|  |             } | ||||||
|  |             if(requestInterceptor instanceof BarearAuthInterceptor) { | ||||||
|  |                 requestInterceptors.remove(requestInterceptor); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         HttpClient.getOkHttpInterceptor() | ||||||
|  |                 .addRequestInterceptor(new BarearAuthInterceptor(mAccessToken)); | ||||||
|  | 
 | ||||||
|         List<String> authPrefs = new ArrayList<>(1); |         List<String> authPrefs = new ArrayList<>(1); | ||||||
|         authPrefs.add(BearerAuthScheme.AUTH_POLICY); |         authPrefs.add(BearerAuthScheme.AUTH_POLICY); | ||||||
|         client.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs); |         client.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, authPrefs); | ||||||
|  | |||||||
| @ -0,0 +1,21 @@ | |||||||
|  | package com.owncloud.android.lib.common.http.interceptors; | ||||||
|  | 
 | ||||||
|  | import okhttp3.Request; | ||||||
|  | 
 | ||||||
|  | public class BarearAuthInterceptor implements HttpInterceptor.RequestInterceptor { | ||||||
|  | 
 | ||||||
|  |     private static final String AUTHORIZATION_HEADER = "Authorization"; | ||||||
|  |     private final String mBarearToken; | ||||||
|  | 
 | ||||||
|  |     public BarearAuthInterceptor(String barearToken) { | ||||||
|  |         this.mBarearToken = barearToken; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public Request intercept(Request request) { | ||||||
|  |         return request | ||||||
|  |                 .newBuilder() | ||||||
|  |                 .addHeader(AUTHORIZATION_HEADER, "Bearer " + mBarearToken) | ||||||
|  |                 .build(); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -25,7 +25,6 @@ | |||||||
| package com.owncloud.android.lib.resources.files; | package com.owncloud.android.lib.resources.files; | ||||||
| 
 | 
 | ||||||
| import com.owncloud.android.lib.common.OwnCloudClient; | import com.owncloud.android.lib.common.OwnCloudClient; | ||||||
| import com.owncloud.android.lib.common.http.HttpClient; |  | ||||||
| import com.owncloud.android.lib.common.http.HttpConstants; | import com.owncloud.android.lib.common.http.HttpConstants; | ||||||
| import com.owncloud.android.lib.common.http.HttpUtils; | import com.owncloud.android.lib.common.http.HttpUtils; | ||||||
| import com.owncloud.android.lib.common.http.methods.webdav.DavUtils; | import com.owncloud.android.lib.common.http.methods.webdav.DavUtils; | ||||||
| @ -36,7 +35,6 @@ import com.owncloud.android.lib.common.operations.RemoteOperation; | |||||||
| import com.owncloud.android.lib.common.operations.RemoteOperationResult; | import com.owncloud.android.lib.common.operations.RemoteOperationResult; | ||||||
| import com.owncloud.android.lib.common.utils.Log_OC; | import com.owncloud.android.lib.common.utils.Log_OC; | ||||||
| 
 | 
 | ||||||
| import java.sql.Time; |  | ||||||
| import java.util.concurrent.TimeUnit; | import java.util.concurrent.TimeUnit; | ||||||
| 
 | 
 | ||||||
| import static com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode.OK; | import static com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode.OK; | ||||||
| @ -113,9 +111,9 @@ public class ExistenceCheckRemoteOperation extends RemoteOperation { | |||||||
|              *  207 MULTI_STATUS: path exists. |              *  207 MULTI_STATUS: path exists. | ||||||
|              */ |              */ | ||||||
| 
 | 
 | ||||||
|             result = isSuccess(status) ? |             result = isSuccess(status) | ||||||
|                     new RemoteOperationResult(OK) : |                     ? new RemoteOperationResult(OK) | ||||||
|                     new RemoteOperationResult(propfindMethod); |                     : new RemoteOperationResult(propfindMethod); | ||||||
| 
 | 
 | ||||||
|             Log_OC.d(TAG, "Existence check for " + client.getWebdavUri() + |             Log_OC.d(TAG, "Existence check for " + client.getWebdavUri() + | ||||||
|                     WebdavUtils.encodePath(mPath) + " targeting for " + |                     WebdavUtils.encodePath(mPath) + " targeting for " + | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user