Skip to content

Commit

Permalink
Merge pull request #20 from LoginRadius/dev_release_version_11.6.0
Browse files Browse the repository at this point in the history
Release Version 11.6.0
  • Loading branch information
indrasen715 committed Jul 2, 2024
2 parents d6526a5 + 87c40ab commit 8989ff0
Show file tree
Hide file tree
Showing 35 changed files with 1,548 additions and 544 deletions.
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,61 @@
> **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/)

# Version 11.6.0

Release on **July 02, 2024**

## Added following APIs:
- `MFAValidateAuthenticatorCode`
- `MFAVerifyAuthenticatorCode`
- `RevokeAllRefreshToken `
- `MultipurposeEmailTokenGeneration`
- `MultipurposeSMSOTPGeneration`
- `MFAReAuthenticateByAuthenticatorCode`
- `AuthSendVerificationEmailForLinkingSocialProfiles `
- `SlidingAccessToken`
- `AccessTokenViaCustomJWTToken`
- `MFAResetAuthenticatorByToken`
- `MFAResetAuthenticatorByUid`

## Breaking Changes

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.

- Added `isVoiceOtp` parameter in `ResetPhoneIDVerificationByUid` API
- Added `isVoiceOtp` parameter in `MFAConfigureByAccessToken` API
- Added `isVoiceOtp` and `options` parameter in `MFAUpdatePhoneNumberByToken` API
- Added `isVoiceOtp`, `emailTemplate2FA` and `options` parameter in `MFALoginByEmail` API
- Added `isVoiceOtp` and `emailTemplate2FA` parameter in `MFALoginByUserName` API
- Added `isVoiceOtp` , `emailTemplate2FA` and `options` parameter in `MFALoginByPhone` API
- Added `isVoiceOtp` and `options` parameter in `MFAUpdatePhoneNumber` API
- Added `isVoiceOtp` parameter in `MFAResendOTP` API
- Added `isVoiceOtp` parameter in `MFAReAuthenticate` API
- Added `isVoiceOtp` and `options` parameter in `UpdateProfileByAccessToken` API
- Added `isVoiceOtp` parameter in `UserRegistrationByEmail` API
- Added `isVoiceOtp` parameter in `UserRegistrationByCaptcha` API
- Added `isVoiceOtp` parameter in `OneTouchLoginByPhone` API
- Added `isVoiceOtp` parameter in `PasswordlessLoginPhoneVerification` API
- Added `isVoiceOtp` parameter in `PasswordlessLoginByPhone` API
- Added `isVoiceOtp` parameter in `ForgotPasswordByPhoneOTP` API
- Added `isVoiceOtp` parameter in `PhoneVerificationByOTP` API
- Added `isVoiceOtp` parameter in `PhoneVerificationOTPByAccessToken` API
- Added `isVoiceOtp` parameter in `PhoneResendVerificationOTP` API
- Added `isVoiceOtp` parameter in `UpdatePhoneNumber` API
- Added `isVoiceOtp` and `emailTemplate` parameter in `UserRegistrationByPhone` API
- Added `isVoiceOtp` parameter in `SendForgotPINSMSByPhone` API
- Added `uuid` parameter in `VerifyEmail` API
- Added `h-captcha-response` in the Captcha Model
- Removed `smsTemplate2FA` parameter in `MFAConfigureByAccessToken` API



## Removed (Deprecated) APIs:
- `MFAValidateGoogleAuthCode`
- `MFAReAuthenticateByGoogleAuth`
- `MFAResetGoogleAuthByToken `
- `MFAResetGoogleAuthenticatorByUid`

# Version 11.5.0
Release on January 20, 2023

Expand Down
2 changes: 1 addition & 1 deletion LoginRadius-JavaSDK/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.loginradius.sdk</groupId>
<artifactId>java-sdk</artifactId>
<version>11.5.0</version>
<version>11.6.0</version>
<name>LoginRadius-CustomerIdentity-JavaSDK</name>
<description>LoginRadius Java SDK</description>
<url>https://github.com/LoginRadius/java-sdk</url>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,10 @@
import com.loginradius.sdk.helper.JsonDeserializer;
import com.loginradius.sdk.helper.LoginRadiusRequest;
import com.loginradius.sdk.helper.LoginRadiusValidator;
import com.loginradius.sdk.models.requestmodels.AccountCreateModel;
import com.loginradius.sdk.models.requestmodels.AccountUserProfileUpdateModel;
import com.loginradius.sdk.models.requestmodels.UpdateUidModel;
import com.loginradius.sdk.models.requestmodels.UpsertEmailModel;
import com.loginradius.sdk.models.requestmodels.*;
import com.loginradius.sdk.models.responsemodels.AccessTokenBase;
import com.loginradius.sdk.models.responsemodels.ListReturn;
import com.loginradius.sdk.models.responsemodels.MultiToken;
import com.loginradius.sdk.models.responsemodels.UserPasswordHash;
import com.loginradius.sdk.models.responsemodels.otherobjects.DeleteResponse;
import com.loginradius.sdk.models.responsemodels.otherobjects.EmailVerificationTokenResponse;
Expand Down Expand Up @@ -740,11 +738,13 @@ public void onFailure(ErrorResponse errorResponse) {
// </summary>
// <param name="uid">UID, the unified identifier for each user account</param>
// <param name="smsTemplate">SMS Template name</param>
// <param name="isVoiceOtp">Boolean, pass true if you wish to trigger voice OTP</param>
// <returns>Response containing Definition of Complete Validation data</returns>
// 18.27


public void resetPhoneIDVerificationByUid(String uid, String smsTemplate, final AsyncHandler<PostResponse> handler) {
public void resetPhoneIDVerificationByUid(String uid, String smsTemplate,
Boolean isVoiceOtp, final AsyncHandler<PostResponse> handler) {

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

if (isVoiceOtp != null && isVoiceOtp) {
queryParameters.put("isVoiceOtp", String.valueOf(isVoiceOtp));
}

String resourcePath = "identity/v2/manage/account/" + uid + "/invalidatephone";

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

// <summary>
// The Revoke All Refresh Access Token API is used to revoke all refresh tokens for a specific user.
// </summary>
// <param name="uid">UID, the unified identifier for each user account</param>
// <returns>Response containing Definition of Delete Request</returns>
// 18.33


public void revokeAllRefreshToken(String uid, final AsyncHandler<DeleteResponse> handler) {

if (LoginRadiusValidator.isNullOrWhiteSpace(uid)) {
throw new IllegalArgumentException(LoginRadiusValidator.getValidationMessage("uid"));
}

Map<String, String> queryParameters = new HashMap<String, String>();
queryParameters.put("apiKey", LoginRadiusSDK.getApiKey());
queryParameters.put("apiSecret", LoginRadiusSDK.getApiSecret());

String resourcePath = "identity/v2/manage/account/" + uid + "/access_token/refresh/revoke";

LoginRadiusRequest.execute("DELETE", resourcePath, queryParameters, null, new AsyncHandler<String>() {

@Override
public void onSuccess(String response) {
TypeToken<DeleteResponse> typeToken = new TypeToken<DeleteResponse>() {};
DeleteResponse successResponse = JsonDeserializer.deserializeJson(response,typeToken);
handler.onSuccess(successResponse);
}

@Override
public void onFailure(ErrorResponse errorResponse) {
handler.onFailure(errorResponse);
}
});
}

// <summary>
// 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.
// </summary>
// <param name="multiEmailToken">Model Class containing Definition of payload for Multipurpose Email Token Generation API</param>
// <param name="tokentype">The identifier type for the token that we need to generate</param>
// <returns>Response containing Definition for Complete MultiToken</returns>
// 18.34


public void multipurposeEmailTokenGeneration(MultiEmailToken multiEmailToken, String tokentype, final AsyncHandler<MultiToken> handler) {

if (multiEmailToken == null) {
throw new IllegalArgumentException(LoginRadiusValidator.getValidationMessage("multiEmailToken"));
}

if (LoginRadiusValidator.isNullOrWhiteSpace(tokentype)) {
throw new IllegalArgumentException(LoginRadiusValidator.getValidationMessage("tokentype"));
}

Map<String, String> queryParameters = new HashMap<String, String>();
queryParameters.put("apiKey", LoginRadiusSDK.getApiKey());
queryParameters.put("apiSecret", LoginRadiusSDK.getApiSecret());

String resourcePath = "identity/v2/manage/account/emailtoken/" + tokentype;

LoginRadiusRequest.execute("POST", resourcePath, queryParameters, gson.toJson(multiEmailToken), new AsyncHandler<String>() {

@Override
public void onSuccess(String response) {
TypeToken<MultiToken> typeToken = new TypeToken<MultiToken>() {};
MultiToken successResponse = JsonDeserializer.deserializeJson(response,typeToken);
handler.onSuccess(successResponse);
}

@Override
public void onFailure(ErrorResponse errorResponse) {
handler.onFailure(errorResponse);
}
});
}

// <summary>
// 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.
// </summary>
Expand Down Expand Up @@ -1067,4 +1148,45 @@ public void onFailure(ErrorResponse errorResponse) {
}
});
}

// <summary>
// This API generates SMS OTP for Add phone, Phone Id verification, Forgot password, Forgot pin, One-touch login, smart login and Passwordless login.
// </summary>
// <param name="multiSmsOtp"></param>
// <param name="smsotptype">The identifier type for the OTP that we need to generate</param>
// <returns>Response containing Definition for Complete MultiToken</returns>
// 18.44


public void multipurposeSMSOTPGeneration(MultiSmsOtp multiSmsOtp, String smsotptype, final AsyncHandler<MultiToken> handler) {

if (multiSmsOtp == null) {
throw new IllegalArgumentException(LoginRadiusValidator.getValidationMessage("multiSmsOtp"));
}

if (LoginRadiusValidator.isNullOrWhiteSpace(smsotptype)) {
throw new IllegalArgumentException(LoginRadiusValidator.getValidationMessage("smsotptype"));
}

Map<String, String> queryParameters = new HashMap<String, String>();
queryParameters.put("apiKey", LoginRadiusSDK.getApiKey());
queryParameters.put("apiSecret", LoginRadiusSDK.getApiSecret());

String resourcePath = "identity/v2/manage/account/smsotp/" + smsotptype;

LoginRadiusRequest.execute("POST", resourcePath, queryParameters, gson.toJson(multiSmsOtp), new AsyncHandler<String>() {

@Override
public void onSuccess(String response) {
TypeToken<MultiToken> typeToken = new TypeToken<MultiToken>() {};
MultiToken successResponse = JsonDeserializer.deserializeJson(response,typeToken);
handler.onSuccess(successResponse);
}

@Override
public void onFailure(ErrorResponse errorResponse) {
handler.onFailure(errorResponse);
}
});
}
}
Loading

0 comments on commit 8989ff0

Please sign in to comment.