After a cross-device session is successfully created, and sent to and fetched from another device, you can proceed with authenticating the end user.
Check the session’s
typeproperty to make sure it is configured for authentication.
To authenticate with the cross-device session, use the
authenticateCrossDeviceSession method for
Android,
iOS
or
Flutter.
miraclTrust.authenticateCrossDeviceSession(
crossDeviceSession = crossDeviceSession,
user = user,
pinProvider = pinProvider,
resultHandler = ResultHandler { result ->
when (result) {
is MIRACLSuccess -> {
// The cross-device session is authenticated.
}
is MIRACLError -> {
// The cross-device session is not authenticated.
}
}
}
)
val result = miraclTrust.authenticateCrossDeviceSession(
crossDeviceSession = crossDeviceSession,
user = user,
pinProvider = pinProvider
)
when (result) {
is MIRACLSuccess -> {
// The cross-device session is authenticated.
}
is MIRACLError -> {
// The cross-device session is not authenticated.
}
}
miraclTrust.authenticateCrossDeviceSession(
crossDeviceSession,
user,
pinProvider,
result -> {
if (result instanceof MIRACLSuccess) {
// The cross-device session is authenticated.
} else {
// The cross-device session is not authenticated.
}
}
);
MIRACLTrust.getInstance().authenticateCrossDeviceSession(
crossDeviceSession
user: user
) { pinProcessor in
// Here the user provides their current User ID's PIN code.
pinProcessor(<#Provide your PIN here#>)
} completionHandler: { isAuthenticated, error in
// Handle your authentication result here.
}
[[MIRACLTrust getInstance]
authenticateCrossDeviceSession:crossDeviceSession
user:user
didRequestPinHandler:^(void (^ pinProcessor)(NSString *)) {
// Here the user provides their current User ID's PIN code.
pinProcessor(<#Provide your PIN here#>);
} completionHandler:^(BOOL isAuthenticated, NSError * error) {
// Handle your authentication result here.
}];
try {
await mcl.authenticateCrossDeviceSession(crossDeviceSession, userId, userPin);
} catch (err) {
// Handle any potential errors
}
Callback:
mcl.authenticateCrossDeviceSession(
crossDeviceSession,
userId,
userPin,
function (err) {
if (err) {
// Handle any potential errors
}
},
);
try {
await miraclTrust.authenticateCrossDeviceSession(crossDeviceSession, user, pin);
// The cross-device session is authenticated.
} on AuthenticationException catch(e) {
// Handle the exception here.
}