|
|
@@ -55,7 +55,6 @@ ID / PW Input Box Text Color
|
|
|
- (void)viewDidLoad {
|
|
|
[super viewDidLoad];
|
|
|
// Do any additional setup after loading the view.
|
|
|
-
|
|
|
[self initUI];
|
|
|
[self prepareViewDidLoad];
|
|
|
}
|
|
|
@@ -126,11 +125,11 @@ ID / PW Input Box Text Color
|
|
|
_chkAutoLogin.checked = [[[JDFacade facade] objectForKeyFromUserDefaults:USDEF_APP_AUTO_LOGIN] boolValue];
|
|
|
_chkIdSave.checked = [[[JDFacade facade] objectForKeyFromUserDefaults:USDEF_APP_SAVE_ID] boolValue];
|
|
|
if (_chkAutoLogin.checked) {
|
|
|
-// [self requestAutoLogin];
|
|
|
- _txtEmail.text = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_LOGIN_ID];
|
|
|
- _txtPasswd.text = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_LOGIN_PWD];
|
|
|
-
|
|
|
- [self btnLogInTouched:_btnLogin];
|
|
|
+ [self requestAutoLogin];
|
|
|
+// _txtEmail.text = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_LOGIN_ID];
|
|
|
+// _txtPasswd.text = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_LOGIN_PWD];
|
|
|
+//
|
|
|
+// [self btnLogInTouched:_btnLogin];
|
|
|
}
|
|
|
|
|
|
if (_chkIdSave.checked) {
|
|
|
@@ -182,39 +181,50 @@ ID / PW Input Box Text Color
|
|
|
- (void)requestAutoLogin {;
|
|
|
|
|
|
//parameters
|
|
|
- NSString *authToken = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_AUTOTOKEN];
|
|
|
+// NSString *memberId = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_LOGIN_ID];
|
|
|
+// NSString *authToken = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_AUTOTOKEN];
|
|
|
+
|
|
|
+ LoginModel *tmpInfo = [[LoginModel alloc] init];
|
|
|
+ tmpInfo.memberId = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_LOGIN_ID];
|
|
|
+ tmpInfo.authToken = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_AUTOTOKEN];
|
|
|
|
|
|
- [RequestHandler handler].authorization = authToken;
|
|
|
- NSLog(@"%s\n %@", __PRETTY_FUNCTION__, authToken);
|
|
|
+// if ([authToken isEmptyString]) {
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// NSLog(@"%@", authToken);
|
|
|
+// [RequestHandler handler].authorization = authToken;
|
|
|
|
|
|
- NSDictionary *parameter = @{@"device_sn": [JDFacade facade].deviceUUID,
|
|
|
+
|
|
|
+ NSDictionary *parameter = @{@"Authorization": tmpInfo.authorization,
|
|
|
@"device_token": [JDFacade facade].APNSToken ? [JDFacade facade].APNSToken : ksEmptyString,
|
|
|
@"os_type": MOBILE_DEVICE_TYPE,
|
|
|
- @"device_hostname": [JDFacade facade].deviceHostName ? [JDFacade facade].deviceHostName : ksEmptyString};
|
|
|
+ @"message_type": @"auth.auto"};
|
|
|
|
|
|
+ [self sendDataToSocket:parameter];
|
|
|
+ [[JDFacade facade] loadIndicator:YES allowUserInteraction:NO];
|
|
|
|
|
|
- NSString *path = [NSString stringWithFormat:API_GET_SIGN_IN_AUTO];
|
|
|
-
|
|
|
- [[RequestHandler handler] sendAsyncGetRequestAPIPath:path parameters:parameter modelClass:[LoginModel class] completion:^(id responseObject) {
|
|
|
- if (!responseObject) {//응답결과가 잘못되었거나 없을 경우,
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- LoginModel *loginInfo = (LoginModel *)responseObject;
|
|
|
-
|
|
|
- if (loginInfo) {//API 성공 ,함
|
|
|
- [self actionForLoginSucceed:loginInfo];
|
|
|
-
|
|
|
- }
|
|
|
- } failure:^(id errorObject) {
|
|
|
- JDErrorModel *error = (JDErrorModel *)errorObject;
|
|
|
-
|
|
|
- if ([error.errorCode isEqualToString:API_RESPONSE_UNAUTHORIZED_DEVICE]) {//새로운 단말 인증 필요
|
|
|
- [self actionForNeedsRegisteringNewDevice:error.nickname];
|
|
|
- } else {
|
|
|
- [[JDFacade facade] alert:error.errorMessage];
|
|
|
- }
|
|
|
- }];
|
|
|
+// NSString *path = [NSString stringWithFormat:API_GET_SIGN_IN_AUTO];
|
|
|
+//
|
|
|
+// [[RequestHandler handler] sendAsyncGetRequestAPIPath:path parameters:parameter modelClass:[LoginModel class] completion:^(id responseObject) {
|
|
|
+// if (!responseObject) {//응답결과가 잘못되었거나 없을 경우,
|
|
|
+// return;
|
|
|
+// }
|
|
|
+//
|
|
|
+// LoginModel *loginInfo = (LoginModel *)responseObject;
|
|
|
+//
|
|
|
+// if (loginInfo) {//API 성공 ,함
|
|
|
+// [self actionForLoginSucceed:loginInfo];
|
|
|
+//
|
|
|
+// }
|
|
|
+// } failure:^(id errorObject) {
|
|
|
+// JDErrorModel *error = (JDErrorModel *)errorObject;
|
|
|
+//
|
|
|
+// if ([error.errorCode isEqualToString:API_RESPONSE_UNAUTHORIZED_DEVICE]) {//새로운 단말 인증 필요
|
|
|
+// [self actionForNeedsRegisteringNewDevice:error.nickname];
|
|
|
+// } else {
|
|
|
+// [[JDFacade facade] alert:error.errorMessage];
|
|
|
+// }
|
|
|
+// }];
|
|
|
}
|
|
|
|
|
|
//인증 메일 재요청
|
|
|
@@ -237,6 +247,7 @@ ID / PW Input Box Text Color
|
|
|
} failure:^(id errorObject) {
|
|
|
JDErrorModel *error = (JDErrorModel *)errorObject;
|
|
|
[[JDFacade facade] alert:error.errorMessage];
|
|
|
+
|
|
|
}];
|
|
|
}
|
|
|
|
|
|
@@ -265,8 +276,8 @@ ID / PW Input Box Text Color
|
|
|
[[JDFacade facade] storeObjectToUserDefaults:@(_chkAutoLogin.checked) forKey:USDEF_APP_AUTO_LOGIN];
|
|
|
[[JDFacade facade] storeObjectToUserDefaults:@(_chkIdSave.checked) forKey:USDEF_APP_SAVE_ID];
|
|
|
if (_chkAutoLogin.checked) {//자동로그인 설정 시, 인증 토큰 저장
|
|
|
- [[JDFacade facade] storeObjectToKeychain:[_txtEmail.text trim] forKey:USDEF_SESSION_LOGIN_ID];
|
|
|
- [[JDFacade facade] storeObjectToKeychain:[_txtPasswd.text trim] forKey:USDEF_SESSION_LOGIN_PWD];
|
|
|
+ [[JDFacade facade] storeObjectToKeychain:loginInfo.memberId forKey:USDEF_SESSION_LOGIN_ID];
|
|
|
+ [[JDFacade facade] storeObjectToKeychain:loginInfo.authToken forKey:USDEF_SESSION_AUTOTOKEN];
|
|
|
} else {
|
|
|
[[JDFacade facade] removeObjectAtKeychain:USDEF_SESSION_AUTOTOKEN];
|
|
|
[[JDFacade facade] removeObjectAtKeychain:USDEF_SESSION_LOGIN_PWD];
|
|
|
@@ -375,7 +386,7 @@ ID / PW Input Box Text Color
|
|
|
|
|
|
//자동 로그인 설정 - 취소
|
|
|
[[JDFacade facade] storeObjectToUserDefaults:@(NO) forKey:USDEF_APP_AUTO_LOGIN];
|
|
|
- [[JDFacade facade] removeObjectAtKeychain:USDEF_SESSION_LOGIN_PWD];
|
|
|
+ [[JDFacade facade] removeObjectAtKeychain:USDEF_SESSION_AUTOTOKEN];
|
|
|
if (![[[JDFacade facade] objectForKeyFromUserDefaults:USDEF_APP_SAVE_ID] boolValue]) {
|
|
|
[[JDFacade facade] removeObjectAtKeychain:USDEF_SESSION_LOGIN_ID];
|
|
|
}
|
|
|
@@ -464,6 +475,7 @@ ID / PW Input Box Text Color
|
|
|
NSLog(@"Result Info : %@", result);
|
|
|
SWITCH(result.messageType)
|
|
|
{
|
|
|
+
|
|
|
CASE (@"auth")
|
|
|
{
|
|
|
[[JDFacade facade] loadIndicator:NO allowUserInteraction:YES];
|
|
|
@@ -481,6 +493,25 @@ ID / PW Input Box Text Color
|
|
|
|
|
|
break;
|
|
|
}
|
|
|
+ CASE (@"auth.auto")
|
|
|
+ {
|
|
|
+ [[JDFacade facade] loadIndicator:NO allowUserInteraction:YES];
|
|
|
+ if (result.isSuccess) {
|
|
|
+ LoginModel *loginInfo = [[LoginModel alloc] initWithDictionary:info error:nil];;
|
|
|
+ if (loginInfo) {//API 성공 ,함
|
|
|
+ loginInfo.memberId = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_LOGIN_ID];
|
|
|
+ loginInfo.authToken = [[JDFacade facade] objectForKeyFromKeychain:USDEF_SESSION_AUTOTOKEN];
|
|
|
+ [self actionForLoginSucceed:loginInfo];
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ [[JDFacade facade] toast:result.resultMsg];
|
|
|
+ }
|
|
|
+
|
|
|
+ break;
|
|
|
+ }
|
|
|
CASE(@"auth.out")
|
|
|
{
|
|
|
if (result.isSuccess) {
|