diff --git a/Sources/OAuth2Client/NXOAuth2Client.m b/Sources/OAuth2Client/NXOAuth2Client.m index edab79ce..bfe3d5dd 100644 --- a/Sources/OAuth2Client/NXOAuth2Client.m +++ b/Sources/OAuth2Client/NXOAuth2Client.m @@ -499,6 +499,12 @@ - (void)oauthConnection:(NXOAuth2Connection *)connection didFailWithError:(NSErr NSString *body = [[NSString alloc] initWithData:connection.data encoding:NSUTF8StringEncoding]; NSLog(@"oauthConnection Error: %@", body); + NSMutableDictionary *userInfo = [NSMutableDictionary dictionaryWithDictionary:error.userInfo]; + if (connection.data) { + [userInfo setObject:connection.data forKey:NXOAuth2ErrorResponseDataKey]; + } + + NSError *updatedError = [NSError errorWithDomain:error.domain code:error.code userInfo:[NSDictionary dictionaryWithDictionary:userInfo]]; if (connection == authConnection) { self.authenticating = NO; @@ -539,7 +545,7 @@ - (void)oauthConnection:(NXOAuth2Connection *)connection didFailWithError:(NSErr } if ([delegate respondsToSelector:@selector(oauthClient:didFailToGetAccessTokenWithError:)]) { - [delegate oauthClient:self didFailToGetAccessTokenWithError:error]; + [delegate oauthClient:self didFailToGetAccessTokenWithError:updatedError]; } } } diff --git a/Sources/OAuth2Client/NXOAuth2Constants.h b/Sources/OAuth2Client/NXOAuth2Constants.h index dfa15b89..7640c117 100644 --- a/Sources/OAuth2Client/NXOAuth2Constants.h +++ b/Sources/OAuth2Client/NXOAuth2Constants.h @@ -106,4 +106,4 @@ typedef enum { extern NSString * const NXOAuth2AccountStoreErrorKey; - +extern NSString * const NXOAuth2ErrorResponseDataKey; diff --git a/Sources/OAuth2Client/NXOAuth2Constants.m b/Sources/OAuth2Client/NXOAuth2Constants.m index 5af08752..a10923b0 100644 --- a/Sources/OAuth2Client/NXOAuth2Constants.m +++ b/Sources/OAuth2Client/NXOAuth2Constants.m @@ -38,3 +38,4 @@ #pragma mark UserInfo Keys NSString * const NXOAuth2AccountStoreErrorKey = @"NXOAuth2AccountStoreErrorKey"; +NSString * const NXOAuth2ErrorResponseDataKey = @"NXOAuth2ErrorResponseDataKey"; \ No newline at end of file