Skip to content

Commit 8989ff0

Browse files
authored
Merge pull request #20 from LoginRadius/dev_release_version_11.6.0
Release Version 11.6.0
2 parents d6526a5 + 87c40ab commit 8989ff0

35 files changed

+1548
-544
lines changed

CHANGELOG.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,61 @@
11
> **LoginRadius Java SDK Change Log** provides information regarding what has changed, more specifically what changes, improvements and bug fix has been made to the SDK. For more details please refer to the [LoginRadius API Documention(https://www.loginradius.com/docs/api/v2/deployment/sdk-libraries/java-library/)
22
3+
4+
# Version 11.6.0
5+
6+
Release on **July 02, 2024**
7+
8+
## Added following APIs:
9+
- `MFAValidateAuthenticatorCode`
10+
- `MFAVerifyAuthenticatorCode`
11+
- `RevokeAllRefreshToken `
12+
- `MultipurposeEmailTokenGeneration`
13+
- `MultipurposeSMSOTPGeneration`
14+
- `MFAReAuthenticateByAuthenticatorCode`
15+
- `AuthSendVerificationEmailForLinkingSocialProfiles `
16+
- `SlidingAccessToken`
17+
- `AccessTokenViaCustomJWTToken`
18+
- `MFAResetAuthenticatorByToken`
19+
- `MFAResetAuthenticatorByUid`
20+
21+
## Breaking Changes
22+
23+
For developers migrating to v11.6.0, there will be minor breaking changes in terms of SDK implementation. In this version, we have added/removed following parameter in respective Api.
24+
25+
- Added `isVoiceOtp` parameter in `ResetPhoneIDVerificationByUid` API
26+
- Added `isVoiceOtp` parameter in `MFAConfigureByAccessToken` API
27+
- Added `isVoiceOtp` and `options` parameter in `MFAUpdatePhoneNumberByToken` API
28+
- Added `isVoiceOtp`, `emailTemplate2FA` and `options` parameter in `MFALoginByEmail` API
29+
- Added `isVoiceOtp` and `emailTemplate2FA` parameter in `MFALoginByUserName` API
30+
- Added `isVoiceOtp` , `emailTemplate2FA` and `options` parameter in `MFALoginByPhone` API
31+
- Added `isVoiceOtp` and `options` parameter in `MFAUpdatePhoneNumber` API
32+
- Added `isVoiceOtp` parameter in `MFAResendOTP` API
33+
- Added `isVoiceOtp` parameter in `MFAReAuthenticate` API
34+
- Added `isVoiceOtp` and `options` parameter in `UpdateProfileByAccessToken` API
35+
- Added `isVoiceOtp` parameter in `UserRegistrationByEmail` API
36+
- Added `isVoiceOtp` parameter in `UserRegistrationByCaptcha` API
37+
- Added `isVoiceOtp` parameter in `OneTouchLoginByPhone` API
38+
- Added `isVoiceOtp` parameter in `PasswordlessLoginPhoneVerification` API
39+
- Added `isVoiceOtp` parameter in `PasswordlessLoginByPhone` API
40+
- Added `isVoiceOtp` parameter in `ForgotPasswordByPhoneOTP` API
41+
- Added `isVoiceOtp` parameter in `PhoneVerificationByOTP` API
42+
- Added `isVoiceOtp` parameter in `PhoneVerificationOTPByAccessToken` API
43+
- Added `isVoiceOtp` parameter in `PhoneResendVerificationOTP` API
44+
- Added `isVoiceOtp` parameter in `UpdatePhoneNumber` API
45+
- Added `isVoiceOtp` and `emailTemplate` parameter in `UserRegistrationByPhone` API
46+
- Added `isVoiceOtp` parameter in `SendForgotPINSMSByPhone` API
47+
- Added `uuid` parameter in `VerifyEmail` API
48+
- Added `h-captcha-response` in the Captcha Model
49+
- Removed `smsTemplate2FA` parameter in `MFAConfigureByAccessToken` API
50+
51+
52+
53+
## Removed (Deprecated) APIs:
54+
- `MFAValidateGoogleAuthCode`
55+
- `MFAReAuthenticateByGoogleAuth`
56+
- `MFAResetGoogleAuthByToken `
57+
- `MFAResetGoogleAuthenticatorByUid`
58+
359
# Version 11.5.0
460
Release on January 20, 2023
561

LoginRadius-JavaSDK/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.loginradius.sdk</groupId>
88
<artifactId>java-sdk</artifactId>
9-
<version>11.5.0</version>
9+
<version>11.6.0</version>
1010
<name>LoginRadius-CustomerIdentity-JavaSDK</name>
1111
<description>LoginRadius Java SDK</description>
1212
<url>https://github.com/LoginRadius/java-sdk</url>

LoginRadius-JavaSDK/src/main/java/com/loginradius/sdk/api/account/AccountApi.java

Lines changed: 127 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,10 @@
1515
import com.loginradius.sdk.helper.JsonDeserializer;
1616
import com.loginradius.sdk.helper.LoginRadiusRequest;
1717
import com.loginradius.sdk.helper.LoginRadiusValidator;
18-
import com.loginradius.sdk.models.requestmodels.AccountCreateModel;
19-
import com.loginradius.sdk.models.requestmodels.AccountUserProfileUpdateModel;
20-
import com.loginradius.sdk.models.requestmodels.UpdateUidModel;
21-
import com.loginradius.sdk.models.requestmodels.UpsertEmailModel;
18+
import com.loginradius.sdk.models.requestmodels.*;
2219
import com.loginradius.sdk.models.responsemodels.AccessTokenBase;
2320
import com.loginradius.sdk.models.responsemodels.ListReturn;
21+
import com.loginradius.sdk.models.responsemodels.MultiToken;
2422
import com.loginradius.sdk.models.responsemodels.UserPasswordHash;
2523
import com.loginradius.sdk.models.responsemodels.otherobjects.DeleteResponse;
2624
import com.loginradius.sdk.models.responsemodels.otherobjects.EmailVerificationTokenResponse;
@@ -740,11 +738,13 @@ public void onFailure(ErrorResponse errorResponse) {
740738
// </summary>
741739
// <param name="uid">UID, the unified identifier for each user account</param>
742740
// <param name="smsTemplate">SMS Template name</param>
741+
// <param name="isVoiceOtp">Boolean, pass true if you wish to trigger voice OTP</param>
743742
// <returns>Response containing Definition of Complete Validation data</returns>
744743
// 18.27
745744

746745

747-
public void resetPhoneIDVerificationByUid(String uid, String smsTemplate, final AsyncHandler<PostResponse> handler) {
746+
public void resetPhoneIDVerificationByUid(String uid, String smsTemplate,
747+
Boolean isVoiceOtp, final AsyncHandler<PostResponse> handler) {
748748

749749
if (LoginRadiusValidator.isNullOrWhiteSpace(uid)) {
750750
throw new IllegalArgumentException(LoginRadiusValidator.getValidationMessage("uid"));
@@ -758,6 +758,10 @@ public void resetPhoneIDVerificationByUid(String uid, String smsTemplate, final
758758
queryParameters.put("smsTemplate", smsTemplate);
759759
}
760760

761+
if (isVoiceOtp != null && isVoiceOtp) {
762+
queryParameters.put("isVoiceOtp", String.valueOf(isVoiceOtp));
763+
}
764+
761765
String resourcePath = "identity/v2/manage/account/" + uid + "/invalidatephone";
762766

763767
LoginRadiusRequest.execute("PUT", resourcePath, queryParameters, null, new AsyncHandler<String>() {
@@ -947,6 +951,83 @@ public void onFailure(ErrorResponse errorResponse) {
947951
});
948952
}
949953

954+
// <summary>
955+
// The Revoke All Refresh Access Token API is used to revoke all refresh tokens for a specific user.
956+
// </summary>
957+
// <param name="uid">UID, the unified identifier for each user account</param>
958+
// <returns>Response containing Definition of Delete Request</returns>
959+
// 18.33
960+
961+
962+
public void revokeAllRefreshToken(String uid, final AsyncHandler<DeleteResponse> handler) {
963+
964+
if (LoginRadiusValidator.isNullOrWhiteSpace(uid)) {
965+
throw new IllegalArgumentException(LoginRadiusValidator.getValidationMessage("uid"));
966+
}
967+
968+
Map<String, String> queryParameters = new HashMap<String, String>();
969+
queryParameters.put("apiKey", LoginRadiusSDK.getApiKey());
970+
queryParameters.put("apiSecret", LoginRadiusSDK.getApiSecret());
971+
972+
String resourcePath = "identity/v2/manage/account/" + uid + "/access_token/refresh/revoke";
973+
974+
LoginRadiusRequest.execute("DELETE", resourcePath, queryParameters, null, new AsyncHandler<String>() {
975+
976+
@Override
977+
public void onSuccess(String response) {
978+
TypeToken<DeleteResponse> typeToken = new TypeToken<DeleteResponse>() {};
979+
DeleteResponse successResponse = JsonDeserializer.deserializeJson(response,typeToken);
980+
handler.onSuccess(successResponse);
981+
}
982+
983+
@Override
984+
public void onFailure(ErrorResponse errorResponse) {
985+
handler.onFailure(errorResponse);
986+
}
987+
});
988+
}
989+
990+
// <summary>
991+
// This API generate Email tokens and Email OTPs for Email verification, Add email, Forgot password, Delete user, Passwordless login, Forgot pin, One-touch login and Auto login.
992+
// </summary>
993+
// <param name="multiEmailToken">Model Class containing Definition of payload for Multipurpose Email Token Generation API</param>
994+
// <param name="tokentype">The identifier type for the token that we need to generate</param>
995+
// <returns>Response containing Definition for Complete MultiToken</returns>
996+
// 18.34
997+
998+
999+
public void multipurposeEmailTokenGeneration(MultiEmailToken multiEmailToken, String tokentype, final AsyncHandler<MultiToken> handler) {
1000+
1001+
if (multiEmailToken == null) {
1002+
throw new IllegalArgumentException(LoginRadiusValidator.getValidationMessage("multiEmailToken"));
1003+
}
1004+
1005+
if (LoginRadiusValidator.isNullOrWhiteSpace(tokentype)) {
1006+
throw new IllegalArgumentException(LoginRadiusValidator.getValidationMessage("tokentype"));
1007+
}
1008+
1009+
Map<String, String> queryParameters = new HashMap<String, String>();
1010+
queryParameters.put("apiKey", LoginRadiusSDK.getApiKey());
1011+
queryParameters.put("apiSecret", LoginRadiusSDK.getApiSecret());
1012+
1013+
String resourcePath = "identity/v2/manage/account/emailtoken/" + tokentype;
1014+
1015+
LoginRadiusRequest.execute("POST", resourcePath, queryParameters, gson.toJson(multiEmailToken), new AsyncHandler<String>() {
1016+
1017+
@Override
1018+
public void onSuccess(String response) {
1019+
TypeToken<MultiToken> typeToken = new TypeToken<MultiToken>() {};
1020+
MultiToken successResponse = JsonDeserializer.deserializeJson(response,typeToken);
1021+
handler.onSuccess(successResponse);
1022+
}
1023+
1024+
@Override
1025+
public void onFailure(ErrorResponse errorResponse) {
1026+
handler.onFailure(errorResponse);
1027+
}
1028+
});
1029+
}
1030+
9501031
// <summary>
9511032
// Note: This is intended for specific workflows where an email may be associated to multiple UIDs. This API is used to retrieve all of the identities (UID and Profiles), associated with a specified email in Cloud Storage.
9521033
// </summary>
@@ -1067,4 +1148,45 @@ public void onFailure(ErrorResponse errorResponse) {
10671148
}
10681149
});
10691150
}
1151+
1152+
// <summary>
1153+
// This API generates SMS OTP for Add phone, Phone Id verification, Forgot password, Forgot pin, One-touch login, smart login and Passwordless login.
1154+
// </summary>
1155+
// <param name="multiSmsOtp"></param>
1156+
// <param name="smsotptype">The identifier type for the OTP that we need to generate</param>
1157+
// <returns>Response containing Definition for Complete MultiToken</returns>
1158+
// 18.44
1159+
1160+
1161+
public void multipurposeSMSOTPGeneration(MultiSmsOtp multiSmsOtp, String smsotptype, final AsyncHandler<MultiToken> handler) {
1162+
1163+
if (multiSmsOtp == null) {
1164+
throw new IllegalArgumentException(LoginRadiusValidator.getValidationMessage("multiSmsOtp"));
1165+
}
1166+
1167+
if (LoginRadiusValidator.isNullOrWhiteSpace(smsotptype)) {
1168+
throw new IllegalArgumentException(LoginRadiusValidator.getValidationMessage("smsotptype"));
1169+
}
1170+
1171+
Map<String, String> queryParameters = new HashMap<String, String>();
1172+
queryParameters.put("apiKey", LoginRadiusSDK.getApiKey());
1173+
queryParameters.put("apiSecret", LoginRadiusSDK.getApiSecret());
1174+
1175+
String resourcePath = "identity/v2/manage/account/smsotp/" + smsotptype;
1176+
1177+
LoginRadiusRequest.execute("POST", resourcePath, queryParameters, gson.toJson(multiSmsOtp), new AsyncHandler<String>() {
1178+
1179+
@Override
1180+
public void onSuccess(String response) {
1181+
TypeToken<MultiToken> typeToken = new TypeToken<MultiToken>() {};
1182+
MultiToken successResponse = JsonDeserializer.deserializeJson(response,typeToken);
1183+
handler.onSuccess(successResponse);
1184+
}
1185+
1186+
@Override
1187+
public void onFailure(ErrorResponse errorResponse) {
1188+
handler.onFailure(errorResponse);
1189+
}
1190+
});
1191+
}
10701192
}

0 commit comments

Comments
 (0)