Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ The MIRACL Trust Android SDK provides the following functionalities:

```kotlin
dependencies {
implementation("com.miracl:trust-sdk-android:1.11.0")
implementation("com.miracl:trust-sdk-android:1.12.0")
}
```

Groovy:

```groovy
dependencies {
implementation "com.miracl:trust-sdk-android:1.11.0"
implementation "com.miracl:trust-sdk-android:1.12.0"
}
```

Expand Down
11 changes: 1 addition & 10 deletions miracl-sdk/api/miracl-sdk.api
Original file line number Diff line number Diff line change
Expand Up @@ -479,21 +479,12 @@ public final class com/miracl/trust/session/AuthenticationSessionException$Inval
}

public final class com/miracl/trust/session/CrossDeviceSession {
public fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILcom/miracl/trust/session/VerificationMethod;Ljava/lang/String;Ljava/lang/String;Lcom/miracl/trust/session/IdentityType;Ljava/lang/String;ZLjava/lang/String;)V
public final fun getIdentityType ()Lcom/miracl/trust/session/IdentityType;
public final fun getIdentityTypeLabel ()Ljava/lang/String;
public final fun getPinLength ()I
public fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
public final fun getProjectId ()Ljava/lang/String;
public final fun getProjectLogoUrl ()Ljava/lang/String;
public final fun getProjectName ()Ljava/lang/String;
public final fun getQuickCodeEnabled ()Z
public final fun getSessionDescription ()Ljava/lang/String;
public final fun getSessionId ()Ljava/lang/String;
public final fun getSigningHash ()Ljava/lang/String;
public final fun getUserId ()Ljava/lang/String;
public final fun getVerificationCustomText ()Ljava/lang/String;
public final fun getVerificationMethod ()Lcom/miracl/trust/session/VerificationMethod;
public final fun getVerificationUrl ()Ljava/lang/String;
public fun toString ()Ljava/lang/String;
}

Expand Down
2 changes: 1 addition & 1 deletion miracl-sdk/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ plugins {
alias libs.plugins.jreleaser
}

version = '1.11.0'
version = '1.12.0'

android {
namespace 'com.miracl.trust'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,18 @@ import com.miracl.trust.configuration.Configuration
import com.miracl.trust.delegate.PinProvider
import com.miracl.trust.model.User
import com.miracl.trust.session.CrossDeviceSession
import com.miracl.trust.session.IdentityType
import com.miracl.trust.session.VerificationMethod
import com.miracl.trust.utilities.JwtHelper
import com.miracl.trust.utilities.MIRACLService
import com.miracl.trust.utilities.USER_ID
import com.miracl.trust.utilities.WRONG_FORMAT_PIN
import com.miracl.trust.utilities.generateWrongPin
import com.miracl.trust.utilities.randomNumericPin
import com.miracl.trust.utilities.randomPinLength
import com.miracl.trust.utilities.randomUuidString
import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.runTest
import org.junit.Assert
import org.junit.Before
import org.junit.Test
import kotlin.random.Random

class AuthenticationTest {
private val projectId = BuildConfig.CUV_PROJECT_ID
Expand Down Expand Up @@ -102,15 +98,6 @@ class AuthenticationTest {
sessionDescription = randomUuidString(),
userId = randomUuidString(),
projectId = randomUuidString(),
projectName = randomUuidString(),
projectLogoUrl = randomUuidString(),
pinLength = randomPinLength(),
verificationMethod = VerificationMethod.StandardEmail,
verificationUrl = randomUuidString(),
verificationCustomText = randomUuidString(),
identityType = IdentityType.Email,
identityTypeLabel = randomUuidString(),
quickCodeEnabled = Random.nextBoolean(),
signingHash = ""
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,12 @@ import com.miracl.trust.MIRACLSuccess
import com.miracl.trust.MIRACLTrust
import com.miracl.trust.configuration.Configuration
import com.miracl.trust.utilities.MIRACLService
import com.miracl.trust.utilities.randomPinLength
import com.miracl.trust.utilities.randomUuidString
import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.runTest
import org.junit.Assert
import org.junit.Before
import org.junit.Test
import kotlin.random.Random

class CrossDeviceSessionManagementTest {
private val testCoroutineDispatcher = StandardTestDispatcher()
Expand Down Expand Up @@ -177,15 +175,6 @@ class CrossDeviceSessionManagementTest {
sessionDescription = randomUuidString(),
userId = randomUuidString(),
projectId = randomUuidString(),
projectName = randomUuidString(),
projectLogoUrl = randomUuidString(),
pinLength = randomPinLength(),
verificationMethod = VerificationMethod.StandardEmail,
verificationUrl = randomUuidString(),
verificationCustomText = randomUuidString(),
identityType = IdentityType.Email,
identityTypeLabel = randomUuidString(),
quickCodeEnabled = Random.nextBoolean(),
signingHash = randomUuidString()
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,13 @@ package com.miracl.trust.session
* @property sessionDescription Description of the operation that needs to be done.
* @property userId User ID entered by the user when session is started.
* @property projectId Project ID setting for the application in MIRACL Trust platform.
* @property projectName Name of the project in MIRACL Trust platform.
* @property projectLogoUrl URL of the project logo.
* @property pinLength PIN length that needs to be entered from the user.
* @property verificationMethod Indicates method of user verification.
* @property verificationUrl URL for verification in case of custom verification method.
* @property verificationCustomText Custom text specified in the MIRACL Trust portal for the custom verification.
* @property identityType Identity type which will be used for identity verification.
* @property identityTypeLabel Label of the identity which will be used for identity verification.
* @property quickCodeEnabled Indicates whether [QuickCode](https://miracl.com/resources/docs/guides/built-in-user-verification/quickcode/)
* is enabled for the project or not.
* @property signingHash Hash of the transaction that needs to be signed if any.
*/
public class CrossDeviceSession(
public val sessionId: String,
public val sessionDescription: String,
public val userId: String,
public val projectId: String,
public val projectName: String,
public val projectLogoUrl: String,
public val pinLength: Int,
public val verificationMethod: VerificationMethod,
public val verificationUrl: String,
public val verificationCustomText: String,
public val identityType: IdentityType,
public val identityTypeLabel: String,
public val quickCodeEnabled: Boolean,
public val signingHash: String
) {
override fun toString(): String {
Expand All @@ -42,15 +23,6 @@ public class CrossDeviceSession(
"sessionDescription=$sessionDescription, " +
"userId=$userId, " +
"projectId=$projectId, " +
"projectName=$projectName, " +
"projectLogoUrl=$projectLogoUrl, " +
"pinLength=$pinLength, " +
"verificationMethod=$verificationMethod, " +
"verificationUrl=$verificationUrl, " +
"verificationCustomText=$verificationCustomText, " +
"identityType=$identityType, " +
"identityTypeLabel=$identityTypeLabel, " +
"quickCodeEnabled=$quickCodeEnabled, " +
"signingHash=$signingHash" +
")"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,6 @@ internal data class CrossDeviceSessionResponse(
@SerialName("description") val description: String,
@SerialName("prerollId") val prerollId: String,
@SerialName("projectId") val projectId: String,
@SerialName("projectName") val projectName: String,
@SerialName("projectLogoURL") val projectLogoUrl: String,
@SerialName("pinLength") val pinLength: Int,
@SerialName("verificationMethod") val verificationMethod: String,
@SerialName("verificationURL") val verificationUrl: String,
@SerialName("verificationCustomText") val verificationCustomText: String,
@SerialName("identityType") val identityType: String,
@SerialName("identityTypeLabel") val identityTypeLabel: String,
@SerialName("enableRegistrationCode") val quickCodeEnabled: Boolean,
@SerialName("hash") val hash: String
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,15 +37,6 @@ internal class CrossDeviceSessionManager(
sessionDescription = codeStatusResponse.description,
userId = codeStatusResponse.prerollId,
projectId = codeStatusResponse.projectId,
projectName = codeStatusResponse.projectName,
projectLogoUrl = codeStatusResponse.projectLogoUrl,
pinLength = codeStatusResponse.pinLength,
verificationMethod = VerificationMethod.fromString(codeStatusResponse.verificationMethod),
verificationUrl = codeStatusResponse.verificationUrl,
verificationCustomText = codeStatusResponse.verificationCustomText,
identityType = IdentityType.fromString(codeStatusResponse.identityType),
identityTypeLabel = codeStatusResponse.identityTypeLabel,
quickCodeEnabled = codeStatusResponse.quickCodeEnabled,
signingHash = codeStatusResponse.hash
)

Expand Down
18 changes: 0 additions & 18 deletions miracl-sdk/src/test/java/com/miracl/trust/MIRACLTrustUnitTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3148,30 +3148,12 @@ class MIRACLTrustUnitTest {
description: String = randomUuidString(),
userId: String = randomUuidString(),
projectId: String = this.projectId,
projectName: String = randomUuidString(),
projectLogoUrl: String = randomUuidString(),
pinLength: Int = randomPinLength(),
verificationMethod: VerificationMethod = VerificationMethod.FullCustom,
verificationUrl: String = randomUuidString(),
verificationCustomText: String = randomUuidString(),
identityType: IdentityType = IdentityType.Email,
identityTypeLabel: String = randomUuidString(),
quickCodeEnabled: Boolean = Random.nextBoolean(),
hash: String = randomHexString()
) = CrossDeviceSession(
sessionId = sessionId,
sessionDescription = description,
userId = userId,
projectId = projectId,
projectName = projectName,
projectLogoUrl = projectLogoUrl,
pinLength = pinLength,
verificationMethod = verificationMethod,
verificationUrl = verificationUrl,
verificationCustomText = verificationCustomText,
identityType = identityType,
identityTypeLabel = identityTypeLabel,
quickCodeEnabled = quickCodeEnabled,
signingHash = hash,
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import com.miracl.trust.network.ApiRequestExecutor
import com.miracl.trust.network.ApiSettings
import com.miracl.trust.network.HttpMethod
import com.miracl.trust.randomHexString
import com.miracl.trust.randomPinLength
import com.miracl.trust.randomUuidString
import com.miracl.trust.signing.Signature
import com.miracl.trust.util.json.KotlinxSerializationJsonUtil
Expand All @@ -25,7 +24,6 @@ import org.junit.Assert
import org.junit.Before
import org.junit.Test
import java.util.Date
import kotlin.random.Random

class CrossDeviceSessionApiManagerUnitTest {
private val httpRequestExecutorMock = mockk<ApiRequestExecutor>()
Expand Down Expand Up @@ -265,15 +263,6 @@ class CrossDeviceSessionApiManagerUnitTest {
prerollId = randomUuidString(),
description = randomUuidString(),
projectId = randomUuidString(),
projectName = randomUuidString(),
projectLogoUrl = randomUuidString(),
pinLength = randomPinLength(),
verificationMethod = VerificationMethod.StandardEmail.name,
verificationUrl = randomUuidString(),
verificationCustomText = randomUuidString(),
identityType = IdentityType.Email.name,
identityTypeLabel = randomUuidString(),
quickCodeEnabled = Random.nextBoolean(),
hash = randomUuidString()
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package com.miracl.trust.session
import android.net.Uri
import com.miracl.trust.MIRACLError
import com.miracl.trust.MIRACLSuccess
import com.miracl.trust.randomPinLength
import com.miracl.trust.randomUuidString
import io.mockk.clearAllMocks
import io.mockk.coEvery
Expand All @@ -15,7 +14,6 @@ import kotlinx.coroutines.test.runTest
import org.junit.Assert
import org.junit.Before
import org.junit.Test
import kotlin.random.Random

class CrossDeviceSessionManagerUnitTest {
private val sessionId = randomUuidString()
Expand Down Expand Up @@ -51,36 +49,6 @@ class CrossDeviceSessionManagerUnitTest {
Assert.assertEquals(crossDeviceSessionResponse.description, result.value.sessionDescription)
Assert.assertEquals(crossDeviceSessionResponse.prerollId, result.value.userId)
Assert.assertEquals(crossDeviceSessionResponse.projectId, result.value.projectId)
Assert.assertEquals(crossDeviceSessionResponse.projectName, result.value.projectName)
Assert.assertEquals(
crossDeviceSessionResponse.projectLogoUrl,
result.value.projectLogoUrl
)
Assert.assertEquals(crossDeviceSessionResponse.pinLength, result.value.pinLength)
Assert.assertEquals(
VerificationMethod.fromString(crossDeviceSessionResponse.verificationMethod),
result.value.verificationMethod
)
Assert.assertEquals(
crossDeviceSessionResponse.verificationUrl,
result.value.verificationUrl
)
Assert.assertEquals(
crossDeviceSessionResponse.verificationCustomText,
result.value.verificationCustomText
)
Assert.assertEquals(
IdentityType.fromString(crossDeviceSessionResponse.identityType),
result.value.identityType
)
Assert.assertEquals(
crossDeviceSessionResponse.identityTypeLabel,
result.value.identityTypeLabel
)
Assert.assertEquals(
crossDeviceSessionResponse.quickCodeEnabled,
result.value.quickCodeEnabled
)
Assert.assertEquals(crossDeviceSessionResponse.hash, result.value.signingHash)
}

Expand Down Expand Up @@ -342,32 +310,13 @@ class CrossDeviceSessionManagerUnitTest {
description: String = randomUuidString(),
userId: String = randomUuidString(),
projectId: String = randomUuidString(),
projectName: String = randomUuidString(),
projectLogoUrl: String = randomUuidString(),
pinLength: Int = randomPinLength(),
verificationMethod: VerificationMethod = VerificationMethod.FullCustom,
verificationUrl: String = randomUuidString(),
verificationCustomText: String = randomUuidString(),
identityType: IdentityType = IdentityType.Email,
identityTypeLabel: String = randomUuidString(),
quickCodeEnabled: Boolean = Random.nextBoolean(),
limitQuickCodeRegistration: Boolean = Random.nextBoolean(),
hash: String = randomUuidString()
): CrossDeviceSession {
return CrossDeviceSession(
sessionId = sessionId,
sessionDescription = description,
userId = userId,
projectId = projectId,
projectName = projectName,
projectLogoUrl = projectLogoUrl,
pinLength = pinLength,
verificationMethod = verificationMethod,
verificationUrl = verificationUrl,
verificationCustomText = verificationCustomText,
identityType = identityType,
identityTypeLabel = identityTypeLabel,
quickCodeEnabled = quickCodeEnabled,
signingHash = hash
)
}
Expand All @@ -376,15 +325,6 @@ class CrossDeviceSessionManagerUnitTest {
prerollId = randomUuidString(),
description = randomUuidString(),
projectId = randomUuidString(),
projectName = randomUuidString(),
projectLogoUrl = randomUuidString(),
pinLength = randomPinLength(),
verificationMethod = VerificationMethod.StandardEmail.name,
verificationUrl = randomUuidString(),
verificationCustomText = randomUuidString(),
identityType = IdentityType.Email.name,
identityTypeLabel = randomUuidString(),
quickCodeEnabled = Random.nextBoolean(),
hash = randomUuidString()
)
}
Loading