Repository: incubator-milagro-mfa-sdk-android
Updated Branches:
  refs/heads/master 9ea1e62f1 -> 379620e46


Create SDK wrappers for SetClientId and FinishAuthenticationMFA


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/72b51372
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/tree/72b51372
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/diff/72b51372

Branch: refs/heads/master
Commit: 72b5137252d681d29b06558cae79c04c9bcabbde
Parents: 9ea1e62
Author: Vassil Angelov <[email protected]>
Authored: Fri Nov 18 16:11:35 2016 +0200
Committer: Vassil Angelov <[email protected]>
Committed: Fri Nov 18 16:14:09 2016 +0200

----------------------------------------------------------------------
 gradle.properties                               |  2 +-
 mpin-sdk-core                                   |  2 +-
 .../main/java/com/miracl/mpinsdk/MPinSDK.java   | 13 ++++++++++++
 mpinsdk/src/main/jni/JNIMPinSDK.cpp             | 21 ++++++++++++++++++++
 4 files changed, 36 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/72b51372/gradle.properties
----------------------------------------------------------------------
diff --git a/gradle.properties b/gradle.properties
index eb2384a..7a3edec 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -16,7 +16,7 @@
 # This option should only be used with decoupled projects. More details, visit
 # 
http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 # org.gradle.parallel=true
-VERSION_NAME=1.3-SNAPSHOT
+VERSION_NAME=1.4-SNAPSHOT
 GROUP=com.miracl
 RELEASE_REPOSITORY_URL=http://10.10.23.15:8081/content/repositories/mpinsdk/
 
SNAPSHOT_REPOSITORY_URL=http://10.10.23.15:8081/content/repositories/mpinsdk-snapshot/

http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/72b51372/mpin-sdk-core
----------------------------------------------------------------------
diff --git a/mpin-sdk-core b/mpin-sdk-core
index e631fb2..16308c7 160000
--- a/mpin-sdk-core
+++ b/mpin-sdk-core
@@ -1 +1 @@
-Subproject commit e631fb2db35485114e6628abee12a28989e35cff
+Subproject commit 16308c7491f524e711fa87dbafc95724a4df6189

http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/72b51372/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 f94f970..acd794b 100644
--- a/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java
+++ b/mpinsdk/src/main/java/com/miracl/mpinsdk/MPinSDK.java
@@ -62,6 +62,11 @@ public class MPinSDK implements Closeable {
         return nInitWithCustomHeaders(mPtr, config, context, customHeaders);
     }
 
+    public void SetClientId(String clientId) {
+        nSetClientId(mPtr, clientId);
+    }
+
+
     public Status TestBackend(String server) {
         return nTestBackend(mPtr, server);
     }
@@ -146,6 +151,10 @@ public class MPinSDK implements Closeable {
         return nFinishAuthenticationAN(mPtr, user, pin, accessNumber);
     }
 
+    public Status FinishAuthenticationMFA(User user, String pin, StringBuilder 
authzCode) {
+        return nFinishAuthenticationMFA(mPtr, user, pin, authzCode);
+    }
+
     public Status GetSessionDetails(String accessCode, SessionDetails 
sessionDetails) {
         return nGetSessionDetails(mPtr, accessCode, sessionDetails);
     }
@@ -195,6 +204,8 @@ public class MPinSDK implements Closeable {
     private native Status nInitWithCustomHeaders(long ptr, Map<String, String> 
config, Context context,
                                                  Map<String, String> 
customHeaders);
 
+    private native void nSetClientId(long ptr, String clientId);
+
     private native Status nTestBackend(long ptr, String server);
 
     private native Status nTestBackendRPS(long ptr, String server, String 
rpsPrefix);
@@ -227,6 +238,8 @@ public class MPinSDK implements Closeable {
 
     private native Status nFinishAuthenticationAN(long ptr, User user, String 
pin, String accessNumber);
 
+    private native Status nFinishAuthenticationMFA(long ptr, User user, String 
pin, StringBuilder authzCode);
+
     private native Status nGetSessionDetails(long ptr, String accessCode, 
SessionDetails sessionDetails);
 
     private native void nDeleteUser(long ptr, User user);

http://git-wip-us.apache.org/repos/asf/incubator-milagro-mfa-sdk-android/blob/72b51372/mpinsdk/src/main/jni/JNIMPinSDK.cpp
----------------------------------------------------------------------
diff --git a/mpinsdk/src/main/jni/JNIMPinSDK.cpp 
b/mpinsdk/src/main/jni/JNIMPinSDK.cpp
index a570ec0..52cfe48 100644
--- a/mpinsdk/src/main/jni/JNIMPinSDK.cpp
+++ b/mpinsdk/src/main/jni/JNIMPinSDK.cpp
@@ -66,6 +66,11 @@ static jobject nInitWithCustomHeaders(JNIEnv* env, jobject 
jobj, jlong jptr, job
        return MakeJavaStatus(env, sdk->Init(config, 
Context::Instance(jcontext), customHeaders));
 }
 
+static void nSetClientId(JNIEnv* env, jobject jobj, jlong jptr, jstring 
jclientId){
+    MPinSDK* sdk = (MPinSDK*) jptr;
+    sdk->SetClientId(JavaToStdString(env, jclientId));
+}
+
 static jobject nTestBackend(JNIEnv* env, jobject jobj, jlong jptr, jstring 
jserver)
 {
        MPinSDK* sdk = (MPinSDK*) jptr;
@@ -194,6 +199,20 @@ 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 jobject nFinishAuthenticationMFA(JNIEnv* env, jobject jobj, jlong jptr, 
jobject juser, jstring jpin, jobject jauthzCode){
+    MPinSDK* sdk = (MPinSDK*) jptr;
+    MPinSDK::String authzCode;
+    MPinSDK::Status status = sdk->FinishAuthenticationMFA(JavaToMPinUser(env, 
juser), JavaToStdString(env, jpin), authzCode);
+
+    jclass clsStringBuilder = env->FindClass("java/lang/StringBuilder");
+    jmethodID midSetLength = env->GetMethodID(clsStringBuilder, "setLength", 
"(I)V");
+    env->CallVoidMethod(jauthzCode, midSetLength, authzCode.size());
+    jmethodID midReplace = env->GetMethodID(clsStringBuilder, "replace", 
"(IILjava/lang/String;)Ljava/lang/StringBuilder;");
+    env->CallObjectMethod(jauthzCode, midReplace, 0, authzCode.size(), 
env->NewStringUTF(authzCode.c_str()));
+
+    return MakeJavaStatus(env, status);
+}
+
 static jobject nGetSessionDetails(JNIEnv* env, jobject jobj, jlong jptr, 
jstring jaccessCode, jobject jsessionDetails){
     MPinSDK* sdk = (MPinSDK*) jptr;
     MPinSDK::SessionDetails sessionDetails;
@@ -345,6 +364,7 @@ static JNINativeMethod g_methodsMPinSDK[] =
        NATIVE_METHOD(nDestruct, "(J)V"),
        NATIVE_METHOD(nInit, 
"(JLjava/util/Map;Landroid/content/Context;)Lcom/miracl/mpinsdk/model/Status;"),
        NATIVE_METHOD(nInitWithCustomHeaders, 
"(JLjava/util/Map;Landroid/content/Context;Ljava/util/Map;)Lcom/miracl/mpinsdk/model/Status;"),
+       NATIVE_METHOD(nSetClientId, "(JLjava/lang/String;)V"),
        NATIVE_METHOD(nTestBackend, 
"(JLjava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
        NATIVE_METHOD(nTestBackendRPS, 
"(JLjava/lang/String;Ljava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
        NATIVE_METHOD(nSetBackend, 
"(JLjava/lang/String;)Lcom/miracl/mpinsdk/model/Status;"),
@@ -361,6 +381,7 @@ static JNINativeMethod g_methodsMPinSDK[] =
        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(nFinishAuthenticationMFA, 
"(JLcom/miracl/mpinsdk/model/User;Ljava/lang/String;Ljava/lang/StringBuilder;)Lcom/miracl/mpinsdk/model/Status;"),
        NATIVE_METHOD(nDeleteUser, "(JLcom/miracl/mpinsdk/model/User;)V"),
        NATIVE_METHOD(nGetSessionDetails, 
"(JLjava/lang/String;Lcom/miracl/mpinsdk/model/SessionDetails;)Lcom/miracl/mpinsdk/model/Status;"),
        NATIVE_METHOD(nListUsers, 
"(JLjava/util/List;)Lcom/miracl/mpinsdk/model/Status;"),

Reply via email to