@@ -61,7 +61,7 @@ class OAuthManagerModule extends ReactContextBaseJavaModule {
61
61
private Context context ;
62
62
private ReactContext mReactContext ;
63
63
64
- private HashMap _configuration = new HashMap <String , HashMap <String ,String >>();
64
+ private HashMap _configuration = new HashMap <String , HashMap <String ,Object >>();
65
65
private ArrayList _callbackUrls = new ArrayList <String >();
66
66
private OAuthManagerStore _credentialsStore ;
67
67
@@ -92,7 +92,7 @@ public void configureProvider(
92
92
93
93
94
94
// Keep configuration map
95
- HashMap <String , String > cfg = new HashMap <String ,String >();
95
+ HashMap <String , Object > cfg = new HashMap <String ,Object >();
96
96
97
97
ReadableMapKeySetIterator iterator = params .keySetIterator ();
98
98
while (iterator .hasNextKey ()) {
@@ -122,7 +122,7 @@ public void authorize(
122
122
{
123
123
try {
124
124
final OAuthManagerModule self = this ;
125
- HashMap <String ,String > cfg = this .getConfiguration (providerName );
125
+ HashMap <String ,Object > cfg = this .getConfiguration (providerName );
126
126
final String authVersion = (String ) cfg .get ("auth_version" );
127
127
Activity activity = mReactContext .getCurrentActivity ();
128
128
FragmentManager fragmentManager = activity .getFragmentManager ();
@@ -153,15 +153,15 @@ public void onOAuth2AccessToken(final OAuth2AccessToken accessToken) {
153
153
OAuthManagerFragmentController ctrl =
154
154
new OAuthManagerFragmentController (fragmentManager , providerName , service , callbackUrl );
155
155
156
- ctrl .requestAuth (listener );
156
+ ctrl .requestAuth (cfg , listener );
157
157
} else if (authVersion .equals ("2.0" )) {
158
158
final OAuth20Service service =
159
159
OAuthManagerProviders .getApiFor20Provider (providerName , cfg , callbackUrl );
160
160
161
161
OAuthManagerFragmentController ctrl =
162
162
new OAuthManagerFragmentController (fragmentManager , providerName , service , callbackUrl );
163
163
164
- ctrl .requestAuth (listener );
164
+ ctrl .requestAuth (cfg , listener );
165
165
} else {
166
166
Log .d (TAG , "Auth version unknown: " + (String ) cfg .get ("auth_version" ));
167
167
}
@@ -180,7 +180,7 @@ public void makeRequest(
180
180
181
181
Log .i (TAG , "makeRequest called for " + providerName + " to " + urlString );
182
182
try {
183
- HashMap <String ,String > cfg = this .getConfiguration (providerName );
183
+ HashMap <String ,Object > cfg = this .getConfiguration (providerName );
184
184
final String authVersion = (String ) cfg .get ("auth_version" );
185
185
186
186
URL url ;
@@ -230,7 +230,7 @@ public void makeRequest(
230
230
final OAuth10aService service =
231
231
OAuthManagerProviders .getApiFor10aProvider (providerName , cfg , null );
232
232
OAuth1AccessToken token = _credentialsStore .get (providerName , OAuth1AccessToken .class );
233
-
233
+
234
234
request = new OAuthRequest (httpVerb , url .toString (), service );
235
235
service .signRequest (token , request );
236
236
} else if (authVersion .equals ("2.0" )) {
@@ -283,19 +283,26 @@ public void getSavedAccount(
283
283
final Callback onComplete )
284
284
{
285
285
try {
286
- HashMap <String ,String > cfg = this .getConfiguration (providerName );
286
+ HashMap <String ,Object > cfg = this .getConfiguration (providerName );
287
287
final String authVersion = (String ) cfg .get ("auth_version" );
288
288
289
289
Log .i (TAG , "getSavedAccount for " + providerName );
290
290
291
291
if (authVersion .equals ("1.0" )) {
292
292
OAuth1AccessToken token = _credentialsStore .get (providerName , OAuth1AccessToken .class );
293
293
Log .d (TAG , "Found token: " + token );
294
+ if (token == null || token .equals ("" )) {
295
+ throw new Exception ("No token found" );
296
+ }
294
297
295
298
WritableMap resp = this .accessTokenResponse (providerName , token , authVersion );
296
299
onComplete .invoke (null , resp );
297
300
} else if (authVersion .equals ("2.0" )) {
298
301
OAuth2AccessToken token = _credentialsStore .get (providerName , OAuth2AccessToken .class );
302
+
303
+ if (token == null || token .equals ("" )) {
304
+ throw new Exception ("No token found" );
305
+ }
299
306
WritableMap resp = this .accessTokenResponse (providerName , token , authVersion );
300
307
onComplete .invoke (null , resp );
301
308
} else {
@@ -316,7 +323,7 @@ public void getSavedAccount(
316
323
public void deauthorize (final String providerName , final Callback onComplete ) {
317
324
try {
318
325
Log .i (TAG , "deauthorizing " + providerName );
319
- HashMap <String ,String > cfg = this .getConfiguration (providerName );
326
+ HashMap <String ,Object > cfg = this .getConfiguration (providerName );
320
327
final String authVersion = (String ) cfg .get ("auth_version" );
321
328
322
329
_credentialsStore .delete (providerName );
@@ -331,14 +338,14 @@ public void deauthorize(final String providerName, final Callback onComplete) {
331
338
}
332
339
333
340
334
- private HashMap <String ,String > getConfiguration (
341
+ private HashMap <String ,Object > getConfiguration (
335
342
final String providerName
336
343
) throws Exception {
337
344
if (!_configuration .containsKey (providerName )) {
338
345
throw new ProviderNotConfiguredException ("Provider not configured: " + providerName );
339
346
}
340
347
341
- HashMap <String ,String > cfg = (HashMap ) _configuration .get (providerName );
348
+ HashMap <String ,Object > cfg = (HashMap ) _configuration .get (providerName );
342
349
return cfg ;
343
350
}
344
351
@@ -374,7 +381,12 @@ private WritableMap accessTokenResponse(
374
381
375
382
resp .putString ("status" , "ok" );
376
383
resp .putString ("provider" , providerName );
377
- response .putString ("uuid" , accessToken .getParameter ("user_id" ));
384
+ try {
385
+ response .putString ("uuid" , accessToken .getParameter ("user_id" ));
386
+ } catch (Exception ex ) {
387
+ Log .e (TAG , "Exception while getting the access token" );
388
+ ex .printStackTrace ();
389
+ }
378
390
379
391
WritableMap credentials = Arguments .createMap ();
380
392
credentials .putString ("oauth_token" , accessToken .getAccessToken ());
0 commit comments