From e93483ea5344f9d8c5d3b4e8c0bc3ad30f9dde3e Mon Sep 17 00:00:00 2001 From: Giuseppe Nucifora Date: Tue, 10 Apr 2018 18:50:53 +0200 Subject: [PATCH] - fix load credentials --- Example/PNObject/PNObjAppDelegate.m | 2 ++ Example/Podfile.lock | 4 ++-- Example/Pods/Local Podspecs/PNObject.podspec.json | 4 ++-- Example/Pods/Manifest.lock | 4 ++-- PNObject.podspec | 2 +- PNObject/Classes/PNClasses/PNUser.m | 2 +- PNObject/Classes/PNObjectConfig.h | 5 +++++ PNObject/Classes/PNObjectConfig.m | 5 +++-- README.md | 8 ++++++++ 9 files changed, 26 insertions(+), 10 deletions(-) diff --git a/Example/PNObject/PNObjAppDelegate.m b/Example/PNObject/PNObjAppDelegate.m index 973940e..2c4ba40 100644 --- a/Example/PNObject/PNObjAppDelegate.m +++ b/Example/PNObject/PNObjAppDelegate.m @@ -49,6 +49,8 @@ NSLogDebug(@"%@",[[PNObjectConfig sharedInstance] endPointPath]); NSLogDebug(@"%@",[[PNObjectConfig sharedInstance] endPointUrl]); + [[PNObjectConfig sharedInstance] loadManagersWithCredentials]; + PNObjViewController *viewController = [[PNObjViewController alloc] init]; switch ([[UIDevice currentDevice] deviceFamily]) { diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 05fcdc1..fc5beb5 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -38,7 +38,7 @@ PODS: - NSString-Helper (1.0.6) - nv-ios-http-status (0.0.1) - PEAR-FileManager-iOS (1.3.1) - - PNObject (2.5.1): + - PNObject (2.5.5): - AFNetworking - CodFis-Helper - DDDKeychainWrapper @@ -85,7 +85,7 @@ SPEC CHECKSUMS: NSString-Helper: 389265918b2a4c5b0d09f0e03c607e8e5e254dd7 nv-ios-http-status: b6c2b5fc8656cc19e0d3000dadce2080b99d0e2f PEAR-FileManager-iOS: 3bc403f68a53483f5629aa822f4649e40275c4d3 - PNObject: 727e7724717c5c3b4d995b0dfa246897fe4d39de + PNObject: 3ae0dbf81fa7b6def670f6fb7636095208b0b071 PureLayout: 4d550abe49a94f24c2808b9b95db9131685fe4cd RZDataBinding: 6981e90ddaae2f5e02028323b1043f8c31013109 Specta: 3e1bd89c3517421982dc4d1c992503e48bd5fe66 diff --git a/Example/Pods/Local Podspecs/PNObject.podspec.json b/Example/Pods/Local Podspecs/PNObject.podspec.json index 5234b75..bcea9db 100644 --- a/Example/Pods/Local Podspecs/PNObject.podspec.json +++ b/Example/Pods/Local Podspecs/PNObject.podspec.json @@ -1,6 +1,6 @@ { "name": "PNObject", - "version": "2.5.1", + "version": "2.5.5", "summary": "PNObject is a simple replica of the more complex ParseObject", "homepage": "https://github.com/giuseppenucifora/PNObject", "license": { @@ -12,7 +12,7 @@ }, "source": { "git": "https://github.com/giuseppenucifora/PNObject.git", - "tag": "2.5.1" + "tag": "2.5.5" }, "platforms": { "ios": "8.0" diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 05fcdc1..fc5beb5 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -38,7 +38,7 @@ PODS: - NSString-Helper (1.0.6) - nv-ios-http-status (0.0.1) - PEAR-FileManager-iOS (1.3.1) - - PNObject (2.5.1): + - PNObject (2.5.5): - AFNetworking - CodFis-Helper - DDDKeychainWrapper @@ -85,7 +85,7 @@ SPEC CHECKSUMS: NSString-Helper: 389265918b2a4c5b0d09f0e03c607e8e5e254dd7 nv-ios-http-status: b6c2b5fc8656cc19e0d3000dadce2080b99d0e2f PEAR-FileManager-iOS: 3bc403f68a53483f5629aa822f4649e40275c4d3 - PNObject: 727e7724717c5c3b4d995b0dfa246897fe4d39de + PNObject: 3ae0dbf81fa7b6def670f6fb7636095208b0b071 PureLayout: 4d550abe49a94f24c2808b9b95db9131685fe4cd RZDataBinding: 6981e90ddaae2f5e02028323b1043f8c31013109 Specta: 3e1bd89c3517421982dc4d1c992503e48bd5fe66 diff --git a/PNObject.podspec b/PNObject.podspec index e0f4d2a..1c78fe3 100644 --- a/PNObject.podspec +++ b/PNObject.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = 'PNObject' -s.version = '2.5.1' +s.version = '2.5.5' s.summary = 'PNObject is a simple replica of the more complex ParseObject' diff --git a/PNObject/Classes/PNClasses/PNUser.m b/PNObject/Classes/PNClasses/PNUser.m index e5f6966..8fd5e24 100644 --- a/PNObject/Classes/PNClasses/PNUser.m +++ b/PNObject/Classes/PNClasses/PNUser.m @@ -117,7 +117,7 @@ static bool isFirstAccess = YES; } - (BOOL) hasValidEmailAndPasswordData { - if(self.email && [self.email isValidEmail] && self.password && [self.password isValid]){ + if(self.email && [self.email isValidEmail] && self.password && [self.password isKindOfClass:[PNObjcPassword class]] && [self.password isValid]){ return YES; } diff --git a/PNObject/Classes/PNObjectConfig.h b/PNObject/Classes/PNObjectConfig.h index 27fab8f..e1ca1b3 100644 --- a/PNObject/Classes/PNObjectConfig.h +++ b/PNObject/Classes/PNObjectConfig.h @@ -17,6 +17,9 @@ extern NSString* _Nonnull const PNObjectEncryptionKey; extern NSString* _Nonnull const PNObjectEncryptionNonce; +extern NSString* _Nonnull const PNObjectServiceClientCredentialIdentifier; +extern NSString* _Nonnull const PNObjectServiceUserCredentialIdentifier; + #pragma mark LocalNotification Keys extern NSString* _Nonnull const PNObjectLocalNotificationRefreshTokenClientCredentialSuccess; @@ -246,6 +249,8 @@ typedef NS_ENUM(NSInteger, OAuthMode) { */ - (BOOL) setCredentialTokenForOauthMode:(OAuthMode) oauthMode; +- (void) loadManagersWithCredentials; + - (AFOAuthCredential * _Nullable) currentOauthClientCredential; - (AFOAuthCredential * _Nullable) currentOauthUserCredential; diff --git a/PNObject/Classes/PNObjectConfig.m b/PNObject/Classes/PNObjectConfig.m index 7facd52..0bbfdf8 100644 --- a/PNObject/Classes/PNObjectConfig.m +++ b/PNObject/Classes/PNObjectConfig.m @@ -296,7 +296,9 @@ static bool isFirstAccess = YES; NSLogDebug(@"%@",[[_configuration objectForKey:_currentEnv] objectForKey:BaseUrl]); NSAssert(_currentUserCredenzialEndPointUrl,@"Selected environment generate error. Please check configuration"); - +} + +- (void) loadManagersWithCredentials { if (_currentClientCredenzialClientID && _currentClientCredenzialClientSecret) { [self clientCredentialAuthManager]; } @@ -308,7 +310,6 @@ static bool isFirstAccess = YES; [self manager]; } - - (NSString * _Nonnull) getEnvironment { return _currentEnv; } diff --git a/README.md b/README.md index a8ace37..325eb2a 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,8 @@ Configure PNObject endpoint client ID, client secret and OAuthModePassword with [[PNObjectConfig sharedInstance] setEnvironment:EnvironmentStage]; + [[PNObjectConfig sharedInstance] loadManagersWithCredentials]; + } ``` @@ -81,6 +83,8 @@ Configure PNObject endpoint client ID, client secret and OAuthModePassword [[PNObjectConfig sharedInstance] setOauthUserName:@"admin" oauthPassword:@"admin" forEnv:EnvironmentStage]; [[PNObjectConfig sharedInstance] setEnvironment:EnvironmentStage]; + + [[PNObjectConfig sharedInstance] loadManagersWithCredentials]; } ``` ### @@ -101,6 +105,8 @@ Configure PNObject endpoint client ID, client secret and OAuthModeClientCredenti [[PNObjectConfig sharedInstance] setClientID:@"xxxxxxxxx" clientSecret:@"xxxxxxxxxxxx" forEnv:EnvironmentProduction]; [[PNObjectConfig sharedInstance] setEnvironment:EnvironmentStage]; + + [[PNObjectConfig sharedInstance] loadManagersWithCredentials]; } ``` ### @@ -120,6 +126,8 @@ Configure PNObject endpoint and using custom PNUser object [[PNObjectConfig sharedInstance] setClientID:@"xxxxxxxxx" clientSecret:@"xxxxxxxxxxxx" forEnv:EnvironmentProduction]; [[PNObjectConfig sharedInstance] setEnvironment:EnvironmentStage]; + + [[PNObjectConfig sharedInstance] loadManagersWithCredentials]; } ```