Authentication
Authentication 은 HSP 에서 기본으로 제공하는 API로 별도의 설정 없이 사용 가능하다.
Authentication는 허브와 HSP 간 동작 예제를 위해 만들어졌으며 사용자는 이 코드를 이용해 허브와 통신하는 데이터 구조와 헤더 정보등을 파악할 수 있다.
doLogin
doLogin 은 허브에 사용자 아이디와 사용자 비밀번호를 전달 하여 로그인을 요청하고 결과로 AuthToken 또는 세션을 전달 받는다.
Example
Executors.newSingleThreadExecutor().execute {
val activity = this@MainActivity
val header = hashMapOf<String, Any>()
val msgContainer = MessageContainer(hashMapOf<String, Any>().apply {
this["targetName"] = "hub1"
this["serviceCategory"] = "default"
this["serviceName"] = "login"
}, HoneMobileMessage<Map<String, Any>>(header, hashMapOf<String, Any>().apply {
this["username"] = "jim"
this["password"] = "jim"
}))
// 3.10.18 이상
DAPAuthentication.doLogin(activity, msgContainer, {
// TODO
}) { e ->
// TODO
}
// 3.10.18 이하
DAPAuthentication.doLogin(activity, msgContainer) { result, _ ->
when (result) {
OnResultListener.TRUE -> {
// TODO
}
else -> {
// TODO
}
}
}
}
val activity = this@MainActivity
val header = hashMapOf<String, Any>()
val msgContainer = MessageContainer(hashMapOf<String, Any>().apply {
this["targetName"] = "hub1"
this["serviceCategory"] = "default"
this["serviceName"] = "login"
}, HoneMobileMessage<Map<String, Any>>(header, hashMapOf<String, Any>().apply {
this["username"] = "jim"
this["password"] = "jim"
}))
// 3.10.18 이상
DAPAuthentication.doLogin(activity, msgContainer, {
// TODO
}) { e ->
// TODO
}
// 3.10.18 이하
DAPAuthentication.doLogin(activity, msgContainer) { result, _ ->
when (result) {
OnResultListener.TRUE -> {
// TODO
}
else -> {
// TODO
}
}
}
}
Executors.newSingleThreadExecutor().execute(() -> {
Activity activity = MainActivity.this;
Map<String, Object> context = new HashMap<>();
context.put("targetName", "hub1");
context.put("serviceCategory", "default");
context.put("serviceName", "login");
Map<String, Object> header = new HashMap<>();
Map<String, String> loginInfo = new HashMap<>();
loginInfo.put("username", "jim");
loginInfo.put("password", "jim");
HoneMobileMessage message = new HoneMobileMessage<Map>(header, loginInfo);
MessageContainer msgContainer = new MessageContainer(context, message);
// 3.10.18 이상
DAPAuthentication.doLogin(activity, msgContainer, result -> {
// TODO
}, e -> {
// TODO
});
// 3.10.18 이하
DAPAuthentication.doLogin(activity, msgContainer, (result, value) -> {
if (result == OnResultListener.TRUE) {
// TODO
} else {
// TODO
}
});
});
doLogout
doLogout 은 허브에 로그인하여 전달 받은 AuthToken 삭제 하고 로그아웃 정보를 서버에 전달 한다.
Example
Executors.newSingleThreadExecutor().execute {
val activity = this@MainActivity
val header = hashMapOf<String, Any>()
val logoutInfo = hashMapOf<String, Any>()
val msgContainer = MessageContainer(hashMapOf<String, Any>().apply {
this["targetName"] = "hub1"
this["serviceCategory"] = "default"
this["serviceName"] = "logout"
}, HoneMobileMessage<Map<String, Any>>(header, logoutInfo))
// 3.10.18 이상
DAPAuthentication.doLogout(activity, msgContainer, {
// TODO
}) { e ->
// TODO
}
// 3.10.18 이하
DAPAuthentication.doLogout(activity, msgContainer) { result, _ ->
when (result) {
OnResultListener.TRUE -> {
// TODO
}
else -> {
// TODO
}
}
}
}
val activity = this@MainActivity
val header = hashMapOf<String, Any>()
val logoutInfo = hashMapOf<String, Any>()
val msgContainer = MessageContainer(hashMapOf<String, Any>().apply {
this["targetName"] = "hub1"
this["serviceCategory"] = "default"
this["serviceName"] = "logout"
}, HoneMobileMessage<Map<String, Any>>(header, logoutInfo))
// 3.10.18 이상
DAPAuthentication.doLogout(activity, msgContainer, {
// TODO
}) { e ->
// TODO
}
// 3.10.18 이하
DAPAuthentication.doLogout(activity, msgContainer) { result, _ ->
when (result) {
OnResultListener.TRUE -> {
// TODO
}
else -> {
// TODO
}
}
}
}
Executors.newSingleThreadExecutor().execute(() -> {
Activity activity = MainActivity.this;
Map<String, Object> context = new HashMap<>();
context.put("targetName", "hub1");
context.put("serviceCategory", "default");
context.put("serviceName", "logout");
Map<String, Object> header = new HashMap<>();
Map<String, String> logoutInfo = new HashMap<>();
HoneMobileMessage message = new HoneMobileMessage<Map>(header, logoutInfo);
MessageContainer msgContainer = new MessageContainer(context, message);
// 3.10.18 이상
DAPAuthentication.doLogout(activity, msgContainer, value -> {
// TODO
}, e -> {
// TODO
});
// 3.10.18 이하
DAPAuthentication.doLogout(activity, msgContainer, (result, value) {
if (result == OnResultListener.TRUE) {
// TODO
} else {
// TODO
}
});
});
Activity activity = MainActivity.this;
Map<String, Object> context = new HashMap<>();
context.put("targetName", "hub1");
context.put("serviceCategory", "default");
context.put("serviceName", "logout");
Map<String, Object> header = new HashMap<>();
Map<String, String> logoutInfo = new HashMap<>();
HoneMobileMessage message = new HoneMobileMessage<Map>(header, logoutInfo);
MessageContainer msgContainer = new MessageContainer(context, message);
// 3.10.18 이상
DAPAuthentication.doLogout(activity, msgContainer, value -> {
// TODO
}, e -> {
// TODO
});
// 3.10.18 이하
DAPAuthentication.doLogout(activity, msgContainer, (result, value) {
if (result == OnResultListener.TRUE) {
// TODO
} else {
// TODO
}
});
});