@@ -67,16 +67,16 @@ public String getName() {
67
67
68
68
@ ReactMethod
69
69
public void configureProvider (
70
- final String providerName ,
71
- final ReadableMap params ,
70
+ final String providerName ,
71
+ final ReadableMap params ,
72
72
@ Nullable final Callback onComplete
73
73
) {
74
74
Log .i (TAG , "configureProvider for " + providerName );
75
75
76
76
// Save callback url for later
77
77
String callbackUrlStr = params .getString ("callback_url" );
78
78
_callbackUrls .add (callbackUrlStr );
79
-
79
+
80
80
Log .d (TAG , "Added callback url " + callbackUrlStr + " for providler " + providerName );
81
81
82
82
// Keep configuration map
@@ -104,9 +104,9 @@ public void configureProvider(
104
104
105
105
@ ReactMethod
106
106
public void authorize (
107
- final String providerName ,
108
- @ Nullable final ReadableMap params ,
109
- final Callback callback )
107
+ final String providerName ,
108
+ @ Nullable final ReadableMap params ,
109
+ final Callback callback )
110
110
{
111
111
try {
112
112
final OAuthManagerModule self = this ;
@@ -115,7 +115,7 @@ public void authorize(
115
115
Activity activity = this .getCurrentActivity ();
116
116
FragmentManager fragmentManager = activity .getFragmentManager ();
117
117
String callbackUrl = "http://localhost/" + providerName ;
118
-
118
+
119
119
OAuthManagerOnAccessTokenListener listener = new OAuthManagerOnAccessTokenListener () {
120
120
public void onRequestTokenError (final Exception ex ) {
121
121
Log .e (TAG , "Exception with request token: " + ex .getMessage ());
@@ -139,7 +139,7 @@ public void onOAuth2AccessToken(final OAuth2AccessToken accessToken) {
139
139
};
140
140
141
141
if (authVersion .equals ("1.0" )) {
142
- final OAuth10aService service =
142
+ final OAuth10aService service =
143
143
OAuthManagerProviders .getApiFor10aProvider (providerName , cfg , params , callbackUrl );
144
144
145
145
OAuthManagerFragmentController ctrl =
@@ -149,7 +149,7 @@ public void onOAuth2AccessToken(final OAuth2AccessToken accessToken) {
149
149
} else if (authVersion .equals ("2.0" )) {
150
150
final OAuth20Service service =
151
151
OAuthManagerProviders .getApiFor20Provider (providerName , cfg , params , callbackUrl );
152
-
152
+
153
153
OAuthManagerFragmentController ctrl =
154
154
new OAuthManagerFragmentController (mReactContext , fragmentManager , providerName , service , callbackUrl );
155
155
@@ -165,9 +165,9 @@ public void onOAuth2AccessToken(final OAuth2AccessToken accessToken) {
165
165
166
166
@ ReactMethod
167
167
public void makeRequest (
168
- final String providerName ,
168
+ final String providerName ,
169
169
final String urlString ,
170
- final ReadableMap params ,
170
+ final ReadableMap params ,
171
171
final Callback onComplete ) {
172
172
173
173
Log .i (TAG , "makeRequest called for " + providerName + " to " + urlString );
@@ -190,7 +190,7 @@ public void makeRequest(
190
190
}
191
191
192
192
String httpMethod ;
193
- if (params .hasKey ("method" )) {
193
+ if (params .hasKey ("method" )) {
194
194
httpMethod = params .getString ("method" );
195
195
} else {
196
196
httpMethod = "GET" ;
@@ -215,19 +215,27 @@ public void makeRequest(
215
215
httpVerb = Verb .TRACE ;
216
216
} else {
217
217
httpVerb = Verb .GET ;
218
- }
219
-
218
+ }
219
+
220
220
ReadableMap requestParams = null ;
221
221
if (params != null && params .hasKey ("params" )) {
222
222
requestParams = params .getMap ("params" );
223
223
}
224
224
OAuthRequest request = oauthRequestWithParams (providerName , cfg , authVersion , httpVerb , url , requestParams );
225
225
226
+ if (params != null && params .hasKey ("headers" )) {
227
+ HashMap <String , String > headers = (HashMap <String , String >) params .toHashMap ().get ("headers" );
228
+
229
+ for (Map .Entry <String , String > item : headers .entrySet ()) {
230
+ request .addHeader (item .getKey (), item .getValue ());
231
+ }
232
+ }
233
+
226
234
if (authVersion .equals ("1.0" )) {
227
- final OAuth10aService service =
235
+ final OAuth10aService service =
228
236
OAuthManagerProviders .getApiFor10aProvider (providerName , cfg , requestParams , null );
229
237
OAuth1AccessToken token = _credentialsStore .get (providerName , OAuth1AccessToken .class );
230
-
238
+
231
239
service .signRequest (token , request );
232
240
} else if (authVersion .equals ("2.0" )) {
233
241
final OAuth20Service service =
@@ -244,7 +252,7 @@ public void makeRequest(
244
252
onComplete .invoke (err );
245
253
return ;
246
254
}
247
-
255
+
248
256
final Response response = request .send ();
249
257
final String rawBody = response .getBody ();
250
258
@@ -255,7 +263,7 @@ public void makeRequest(
255
263
resp .putInt ("status" , response .getCode ());
256
264
resp .putString ("data" , rawBody );
257
265
onComplete .invoke (null , resp );
258
-
266
+
259
267
} catch (IOException ex ) {
260
268
Log .e (TAG , "IOException when making request: " + ex .getMessage ());
261
269
ex .printStackTrace ();
@@ -277,18 +285,18 @@ private OAuthRequest oauthRequestWithParams(
277
285
OAuthRequest request ;
278
286
// OAuthConfig config;
279
287
280
- if (authVersion .equals ("1.0" )) {
281
- // final OAuth10aService service =
288
+ if (authVersion .equals ("1.0" )) {
289
+ // final OAuth10aService service =
282
290
// OAuthManagerProviders.getApiFor10aProvider(providerName, cfg, null, null);
283
291
OAuth1AccessToken oa1token = _credentialsStore .get (providerName , OAuth1AccessToken .class );
284
292
request = OAuthManagerProviders .getRequestForProvider (
285
- providerName ,
293
+ providerName ,
286
294
httpVerb ,
287
- oa1token ,
295
+ oa1token ,
288
296
url ,
289
297
cfg ,
290
298
params );
291
-
299
+
292
300
// config = service.getConfig();
293
301
// request = new OAuthRequest(httpVerb, url.toString(), config);
294
302
} else if (authVersion .equals ("2.0" )) {
@@ -298,13 +306,13 @@ private OAuthRequest oauthRequestWithParams(
298
306
299
307
OAuth2AccessToken oa2token = _credentialsStore .get (providerName , OAuth2AccessToken .class );
300
308
request = OAuthManagerProviders .getRequestForProvider (
301
- providerName ,
309
+ providerName ,
302
310
httpVerb ,
303
- oa2token ,
311
+ oa2token ,
304
312
url ,
305
313
cfg ,
306
314
params );
307
-
315
+
308
316
// config = service.getConfig();
309
317
// request = new OAuthRequest(httpVerb, url.toString(), config);
310
318
} else {
@@ -322,8 +330,8 @@ public void getSavedAccounts(final ReadableMap options, final Callback onComplet
322
330
323
331
@ ReactMethod
324
332
public void getSavedAccount (
325
- final String providerName ,
326
- final ReadableMap options ,
333
+ final String providerName ,
334
+ final ReadableMap options ,
327
335
final Callback onComplete )
328
336
{
329
337
try {
@@ -343,7 +351,7 @@ public void getSavedAccount(
343
351
onComplete .invoke (null , resp );
344
352
} else if (authVersion .equals ("2.0" )) {
345
353
OAuth2AccessToken token = _credentialsStore .get (providerName , OAuth2AccessToken .class );
346
-
354
+
347
355
if (token == null || token .equals ("" )) {
348
356
throw new Exception ("No token found" );
349
357
}
@@ -360,7 +368,7 @@ public void getSavedAccount(
360
368
ex .printStackTrace ();
361
369
exceptionCallback (ex , onComplete );
362
370
}
363
-
371
+
364
372
}
365
373
366
374
@ ReactMethod
@@ -429,7 +437,7 @@ private WritableMap accessTokenResponse(
429
437
String uuid = accessToken .getParameter ("user_id" );
430
438
response .putString ("uuid" , uuid );
431
439
String oauthTokenSecret = (String ) accessToken .getParameter ("oauth_token_secret" );
432
-
440
+
433
441
String tokenType = (String ) accessToken .getParameter ("token_type" );
434
442
if (tokenType == null ) {
435
443
tokenType = "Bearer" ;
@@ -465,18 +473,18 @@ private WritableMap accessTokenResponse(
465
473
466
474
String uuid = accessToken .getParameter ("user_id" );
467
475
response .putString ("uuid" , uuid );
468
-
476
+
469
477
WritableMap credentials = Arguments .createMap ();
470
478
Log .d (TAG , "Credential raw response: " + accessToken .getRawResponse ());
471
-
479
+
472
480
credentials .putString ("accessToken" , accessToken .getAccessToken ());
473
481
String authHeader ;
474
482
475
483
String tokenType = accessToken .getTokenType ();
476
484
if (tokenType == null ) {
477
485
tokenType = "Bearer" ;
478
486
}
479
-
487
+
480
488
String scope = accessToken .getScope ();
481
489
if (scope == null ) {
482
490
scope = (String ) cfg .get ("scopes" );
0 commit comments