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;"),
