You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@milagro.apache.org by sa...@apache.org on 2016/09/16 10:25:04 UTC
[03/10] incubator-milagro-mfa-sdk-android git commit: Integrate MaaS
support
Integrate MaaS support
Integrate list users per backend and list backends
Project: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/commit/f914e067
Tree: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/tree/f914e067
Diff: http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/diff/f914e067
Branch: refs/heads/master
Commit: f914e067f27aea0166416981d29e520973b69973
Parents: 8dc0481
Author: Vassil Angelov <va...@miracl.com>
Authored: Fri Apr 1 17:24:02 2016 +0300
Committer: Vladislav Mitov <vl...@gmail.com>
Committed: Mon May 9 10:27:21 2016 +0300
----------------------------------------------------------------------
mpin-sdk-core | 2 +-
.../main/java/com/miracl/mpinsdk/MPinSDK.java | 30 ++++++-
mpinsdk/src/main/jni/JNIMPinSDK.cpp | 90 +++++++++++++++++---
3 files changed, 106 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/f914e067/mpin-sdk-core
----------------------------------------------------------------------
diff --git a/mpin-sdk-core b/mpin-sdk-core
index 441caba..58448b9 160000
--- a/mpin-sdk-core
+++ b/mpin-sdk-core
@@ -1 +1 @@
-Subproject commit 441cabaa96a916db82ae9c5a092336117b703196
+Subproject commit 58448b9b6a1a05e8f5f662bd6c34a0192dca43c8
http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/f914e067/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java
----------------------------------------------------------------------
diff --git a/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java b/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java
index 15e8eb3..3077eb5 100644
--- a/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java
+++ b/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java
@@ -117,6 +117,10 @@ public class MPinSDK implements Closeable {
return nStartAuthentication(mPtr, user);
}
+ public Status StartAuthentication(User user, String accessCode) {
+ return nStartAuthenticationAccessCode(mPtr, user, accessCode);
+ }
+
public Status CheckAccessNumber(String accessNumber) {
return nCheckAccessNumber(mPtr, accessNumber);
}
@@ -137,12 +141,24 @@ public class MPinSDK implements Closeable {
return nFinishAuthenticationAN(mPtr, user, pin, accessNumber);
}
+ public String GetPrerollUserId(String accessCode) {
+ return nGetPrerollUserId(mPtr, accessCode);
+ }
+
public void DeleteUser(User user) {
nDeleteUser(mPtr, user);
}
- public void ListUsers(List<User> users) {
- nListUsers(mPtr, users);
+ public Status ListUsers(List<User> users) {
+ return nListUsers(mPtr, users);
+ }
+
+ public Status ListUsers(List<User> users, String backend) {
+ return nListUsersForBackend(mPtr, users, backend);
+ }
+
+ public Status ListBackends(List<String> backends) {
+ return nListBackends(mPtr, backends);
}
public String GetVersion() {
@@ -187,6 +203,8 @@ public class MPinSDK implements Closeable {
private native Status nStartAuthentication(long ptr, User user);
+ private native Status nStartAuthenticationAccessCode(long ptr, User user, String accessCode);
+
private native Status nCheckAccessNumber(long ptr, String accessNumber);
private native Status nFinishAuthentication(long ptr, User user, String pin);
@@ -197,9 +215,15 @@ public class MPinSDK implements Closeable {
private native Status nFinishAuthenticationAN(long ptr, User user, String pin, String accessNumber);
+ private native String nGetPrerollUserId(long ptr, String key);
+
private native void nDeleteUser(long ptr, User user);
- private native void nListUsers(long ptr, List<User> users);
+ private native Status nListUsers(long ptr, List<User> users);
+
+ private native Status nListUsersForBackend(long ptr, List<User> users, String backend);
+
+ private native Status nListBackends(long ptr, List<String> backends);
private native String nGetVersion(long ptr);
http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/f914e067/mpinsdk/src/main/jni/JNIMPinSDK.cpp
----------------------------------------------------------------------
diff --git a/mpinsdk/src/main/jni/JNIMPinSDK.cpp b/mpinsdk/src/main/jni/JNIMPinSDK.cpp
index 7537d8d..4f684b3 100644
--- a/mpinsdk/src/main/jni/JNIMPinSDK.cpp
+++ b/mpinsdk/src/main/jni/JNIMPinSDK.cpp
@@ -118,6 +118,12 @@ static jobject nStartAuthentication(JNIEnv* env, jobject jobj, jlong jptr, jobje
return MakeJavaStatus(env, sdk->StartAuthentication(JavaToMPinUser(env, juser)));
}
+static jobject nStartAuthenticationAccessCode(JNIEnv* env, jobject jobj, jlong jptr, jobject juser, jstring accessCode)
+{
+ MPinSDK* sdk = (MPinSDK*) jptr;
+ return MakeJavaStatus(env, sdk->StartAuthentication(JavaToMPinUser(env, juser),JavaToStdString(env,accessCode)));
+}
+
static jobject nCheckAccessNumber(JNIEnv* env, jobject jobj, jlong jptr, jstring jaccessNumber)
{
MPinSDK* sdk = (MPinSDK*) jptr;
@@ -177,29 +183,85 @@ static jobject nFinishAuthenticationAN(JNIEnv* env, jobject jobj, jlong jptr, jo
return MakeJavaStatus(env, sdk->FinishAuthenticationAN(JavaToMPinUser(env, juser), JavaToStdString(env, jpin), JavaToStdString(env, jaccessNumber)));
}
+static jstring nGetPrerollUserId(JNIEnv* env, jobject jobj, jlong jptr, jstring jaccessCode)
+{
+ MPinSDK* sdk = (MPinSDK*) jptr;
+ MPinSDK::String result = sdk->GetPrerollUserId(JavaToStdString(env, jaccessCode));
+ return env->NewStringUTF(result.c_str());
+}
+
static void nDeleteUser(JNIEnv* env, jobject jobj, jlong jptr, jobject juser)
{
MPinSDK* sdk = (MPinSDK*) jptr;
sdk->DeleteUser(JavaToMPinUser(env, juser));
}
-static void nListUsers(JNIEnv* env, jobject jobj, jlong jptr, jobject jusersList)
+static jobject nListUsers(JNIEnv* env, jobject jobj, jlong jptr, jobject jusersList)
{
MPinSDK* sdk = (MPinSDK*) jptr;
std::vector<MPinSDK::UserPtr> users;
- sdk->ListUsers(users);
+ MPinSDK::Status status = sdk->ListUsers(users);
- jclass clsList = env->FindClass("java/util/List");
- jmethodID midAdd = env->GetMethodID(clsList, "add", "(Ljava/lang/Object;)Z");
+ if(status == MPinSDK::Status::OK)
+ {
+ jclass clsList = env->FindClass("java/util/List");
+ jmethodID midAdd = env->GetMethodID(clsList, "add", "(Ljava/lang/Object;)Z");
- jclass clsUser = env->FindClass("com/miracl/mpinsdk/model/User");
- jmethodID ctorUser = env->GetMethodID(clsUser, "<init>", "(J)V");
+ jclass clsUser = env->FindClass("com/miracl/mpinsdk/model/User");
+ jmethodID ctorUser = env->GetMethodID(clsUser, "<init>", "(J)V");
- for (std::vector<MPinSDK::UserPtr>::iterator i = users.begin(); i != users.end(); ++i) {
- MPinSDK::UserPtr user = *i;
- jobject juser = env->NewObject(clsUser, ctorUser, (jlong) new MPinSDK::UserPtr(user));
- env->CallBooleanMethod(jusersList, midAdd, juser);
- }
+ for (std::vector<MPinSDK::UserPtr>::iterator i = users.begin(); i != users.end(); ++i) {
+ MPinSDK::UserPtr user = *i;
+ jobject juser = env->NewObject(clsUser, ctorUser, (jlong) new MPinSDK::UserPtr(user));
+ env->CallBooleanMethod(jusersList, midAdd, juser);
+ }
+ }
+
+ return MakeJavaStatus(env,status);
+}
+
+static jobject nListUsersForBackend(JNIEnv* env, jobject jobj, jlong jptr, jobject jusersList, jstring jbackend)
+{
+ MPinSDK* sdk = (MPinSDK*) jptr;
+ std::vector<MPinSDK::UserPtr> users;
+ MPinSDK::Status status = sdk->ListUsers(users,JavaToStdString(env,jbackend));
+
+ if(status == MPinSDK::Status::OK)
+ {
+ jclass clsList = env->FindClass("java/util/List");
+ jmethodID midAdd = env->GetMethodID(clsList, "add", "(Ljava/lang/Object;)Z");
+
+ jclass clsUser = env->FindClass("com/miracl/mpinsdk/model/User");
+ jmethodID ctorUser = env->GetMethodID(clsUser, "<init>", "(J)V");
+
+ for (std::vector<MPinSDK::UserPtr>::iterator i = users.begin(); i != users.end(); ++i) {
+ MPinSDK::UserPtr user = *i;
+ jobject juser = env->NewObject(clsUser, ctorUser, (jlong) new MPinSDK::UserPtr(user));
+ env->CallBooleanMethod(jusersList, midAdd, juser);
+ }
+ }
+
+ return MakeJavaStatus(env,status);
+}
+
+static jobject nListBackends(JNIEnv* env, jobject jobj, jlong jptr,jobject jBackendsList)
+{
+ MPinSDK* sdk = (MPinSDK*) jptr;
+ std::vector<MPinSDK::String> backends;
+ MPinSDK::Status status = sdk->ListBackends(backends);
+
+ if(status == MPinSDK::Status::OK)
+ {
+ jclass clsList = env->FindClass("java/util/List");
+ jmethodID midAdd = env->GetMethodID(clsList, "add", "(Ljava/lang/Object;)Z");
+
+ for (std::vector<MPinSDK::String>::iterator i = backends.begin(); i != backends.end(); ++i) {
+ MPinSDK::String backend = *i;
+ env->CallBooleanMethod(jBackendsList, midAdd, env->NewStringUTF(backend.c_str()));
+ }
+ }
+
+ return MakeJavaStatus(env,status);
}
static jstring nGetVersion(JNIEnv* env, jobject jobj, jlong jptr)
@@ -243,13 +305,17 @@ static JNINativeMethod g_methodsMPinSDK[] =
NATIVE_METHOD(nConfirmRegistration, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
NATIVE_METHOD(nFinishRegistration, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
NATIVE_METHOD(nStartAuthentication, "(JLcom/miracl/mpinsdk/model/User;)Lcom/miracl/mpinsdk/model/Status;"),
+ NATIVE_METHOD(nStartAuthenticationAccessCode, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
NATIVE_METHOD(nCheckAccessNumber, "(JLjava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
NATIVE_METHOD(nFinishAuthentication, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
NATIVE_METHOD(nFinishAuthenticationResultData, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;Ljava/lang/StringBuilder;)Lcom/miracl/mpinsdk/model/Status;"),
NATIVE_METHOD(nFinishAuthenticationOTP, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;Lcom/miracl/mpinsdk/model/OTP;)Lcom/miracl/mpinsdk/model/Status;"),
NATIVE_METHOD(nFinishAuthenticationAN, "(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
NATIVE_METHOD(nDeleteUser, "(JLcom/miracl/mpinsdk/model/User;)V"),
- NATIVE_METHOD(nListUsers, "(JLjava/util/List;)V"),
+ NATIVE_METHOD(nGetPrerollUserId, "(JLjava/lang/String;)Ljava/lang/String;"),
+ NATIVE_METHOD(nListUsers, "(JLjava/util/List;)Lcom/miracl/mpinsdk/model/Status;"),
+ NATIVE_METHOD(nListUsersForBackend, "(JLjava/util/List;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
+ NATIVE_METHOD(nListBackends, "(JLjava/util/List;)Lcom/miracl/mpinsdk/model/Status;"),
NATIVE_METHOD(nGetVersion, "(J)Ljava/lang/String;"),
NATIVE_METHOD(nCanLogout, "(JLcom/miracl/mpinsdk/model/User;)Z"),
NATIVE_METHOD(nLogout, "(JLcom/miracl/mpinsdk/model/User;)Z"),