authentication
Contents
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
})
"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
}];
@"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
})
"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
}];
@"serviceCategory" : @"default",
@"serviceName" : @"logout" };
NSDictionary *message = @{ @"header" : @{},
@"payload" : @{} };
[DAPAuthentication doLogout:context message:message completion:^(NSDictionary *resultDict) {
// TODO
} failure:^(NSError *error) {
// TODO
}];
Error Code
Code | Cause | Comment |
---|---|---|
E10100 | 파라메터 값이 잘못되어 있을 경우 | |
E10101 | 전달된 액션 값이 알 수 없는 액션일 경우 | |
E10102 | 서버로 데이터 전송에 필요한 정보가 잘못되어 있을 경우 | |
E10103 | 서버로 전송되는 실제 패킷 정보가 잘못되어 있을 경우 | |
E10104 | 서버 이름이 잘못되어 있을 경우 | |
E10105 | 서비스 카테고리가 잘못되어 있을 경우 | |
E10106 | 서비스 이름이 잘못되어 있을 경우 | |
E10107 | 전송 데이터가 잘못되어 있을 경우 | |
E10150 | 실행 중 오류가 발생 되었을 경우 | |
E10151 | 서버로 부터 전달받은 응답 메시지가 없는 경우 | |
E10152 | 서버로 부터 전달받은 응답 메시지가 잘못되어 있는 경우 | |
E10199 | 알 수 없는 오류가 발생 되었을 경우 | |