authentication


authentication 은 HSP 에서 기본으로 제공하는 API로 별도의 설정 없이 사용 가능하다.
authentication는 허브와 HSP 간 동작 예제를 위해 만들어졌으며 사용자는 이 코드를 이용해 허브와 통신하는 데이터 구조와 헤더 정보등을 파악할 수 있다.


doLogin

doLogin 은 허브에 사용자 아이디와 사용자 비밀번호를 전달 하여 로그인을 요청하고 결과로 AuthToken 을 전달 받는다.

options

필드필드설명M/O
context 서버로 데이터 전송에 필요한 정보M
targetName서버이름, OP가 미리 정의되어 있어야 함M
serviceCategory서비스 카테고리M
serviceName서비스 이름M
message Header 와 Playload 로 구성되며 서버로 전송되는 실제 패킷.
개발 시에는 서버와 비즈앱 간의 합의된 규격서를 기반으로 작성된다. 
M
header패킷 공통 정보O
payload전송 데이터M
     

Example

let context = [
   "targetName": "hub1",
   "serviceCategory": "default",
   "serviceName": "login"
]
let message = [
   "header": [:],
   "payload": [
       "username": "jim",
        "password": "jim"
    ]
]
DAPAuthentication.doLogin(context, message: message, completion: { resultDict in
  // TODO
}, failure: { error in
  // TODO
})
NSDictionary *context = @{ @"targetName" : @"hub1",
                          @"serviceCategory" : @"default",
                          @"serviceName" : @"login" };
NSDictionary *message = @{ @"header" : @{},
                          @"payload" : @{ @"username" : @"jim",
                                          @"password" : @"jim"} };
[DAPAuthentication doLogin:context message:message completion:^(NSDictionary *resultDict) {
  // TODO
} failure:^(NSError *error) {
  // TODO
}];

doLogout

doLogout 은 허브에 로그인하여 전달 받은 AuthToken 을 삭제 하고 로그아웃 정보를 서버에 전달 한다. 

options

필드필드설명M/O
context 서버로 데이터 전송에 필요한 정보M
targetName서버이름, OP가 미리 정의되어 있어야 함M
serviceCategory서비스 카테고리M
serviceName서비스 이름M
message Header 와 Playload 로 구성되며 서버로 전송되는 실제 패킷.
개발 시에는 서버와 비즈앱 간의 합의된 규격서를 기반으로 작성된다. 
O
header패킷 공통 정보O
payload전송 데이터O
    

Example

let context = [
   "targetName": "hub1",
   "serviceCategory": "default",
   "serviceName": "logout"
]
let message = [
   "header": [:],
   "payload": [:]
]
DAPAuthentication.doLogout(context, message: message, completion: { resultDict in
   // TODO
}, failure: { error in
   // TODO
})
NSDictionary *context = @{ @"targetName" : @"hub1",
                          @"serviceCategory" : @"default",
                          @"serviceName" : @"logout" };
NSDictionary *message = @{ @"header" : @{},
                          @"payload" : @{} };
[DAPAuthentication doLogout:context message:message completion:^(NSDictionary *resultDict) {
   // TODO
} failure:^(NSError *error) {
   // TODO
}];

Error Code

CodeCauseComment
E10100파라메터 값이 잘못되어 있을 경우 
E10101전달된 액션 값이 알 수 없는 액션일 경우 
E10102서버로 데이터 전송에 필요한 정보가 잘못되어 있을 경우 
E10103서버로 전송되는 실제 패킷 정보가 잘못되어 있을 경우 
E10104서버 이름이 잘못되어 있을 경우 
E10105서비스 카테고리가 잘못되어 있을 경우 
E10106서비스 이름이 잘못되어 있을 경우 
E10107전송 데이터가 잘못되어 있을 경우 
E10150실행 중 오류가 발생 되었을 경우 
E10151서버로 부터 전달받은 응답 메시지가 없는 경우 
E10152서버로 부터 전달받은 응답 메시지가 잘못되어 있는 경우 
E10199알 수 없는 오류가 발생 되었을 경우