All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.onegini.sdk.model.config.v2.stepup.StepUpAuthenticationMethods Maven / Gradle / Ivy

There is a newer version: 5.92.0
Show newest version
/*
 * Copyright 2013-2020 Onegini b.v.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.onegini.sdk.model.config.v2.stepup;

import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
import static com.onegini.sdk.api.ErrorMessageConstants.AUTH_LEVEL_MESSAGE;
import static com.onegini.sdk.api.ValidationConstants.MAX_AUTHENTICATION_LEVEL;
import static com.onegini.sdk.api.ValidationConstants.MIN_AUTHENTICATION_LEVEL;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@JsonInclude(NON_NULL)
public class StepUpAuthenticationMethods {

  private static final String PIN_AUTHENTICATION_LEVEL_FLD = "pin_authentication_level";
  private static final String SMS_AUTHENTICATION_LEVEL_FLD = "sms_authentication_level";
  private static final String EMAIL_AUTHENTICATION_LEVEL_FLD = "email_authentication_level";
  private static final String GOOGLE_AUTHENTICATOR_AUTHENTICATION_LEVEL_FLD = "google_authenticator_authentication_level";
  private static final String PUSH_AUTHENTICATION_LEVEL_FLD = "push_authentication_level";
  private static final String EXTERNALLY_DELIVERED_CODE_AUTHENTICATION_LEVEL_FLD = "externally_delivered_code_authentication_level";
  private static final String USE_IDPS_TO_INCREASE_AUTH_LEVEL = "use_idps_to_increase_auth_level";

  @Min(value = MIN_AUTHENTICATION_LEVEL, message = PIN_AUTHENTICATION_LEVEL_FLD + " " + AUTH_LEVEL_MESSAGE)
  @Max(value = MAX_AUTHENTICATION_LEVEL, message = PIN_AUTHENTICATION_LEVEL_FLD + " " + AUTH_LEVEL_MESSAGE)
  @JsonProperty(PIN_AUTHENTICATION_LEVEL_FLD)
  private Integer pinAuthenticationLevel;

  @Min(value = MIN_AUTHENTICATION_LEVEL, message = SMS_AUTHENTICATION_LEVEL_FLD + " " + AUTH_LEVEL_MESSAGE)
  @Max(value = MAX_AUTHENTICATION_LEVEL, message = SMS_AUTHENTICATION_LEVEL_FLD + " " + AUTH_LEVEL_MESSAGE)
  @JsonProperty(SMS_AUTHENTICATION_LEVEL_FLD)
  private Integer smsAuthenticationLevel;

  @Min(value = MIN_AUTHENTICATION_LEVEL, message = EMAIL_AUTHENTICATION_LEVEL_FLD + " " + AUTH_LEVEL_MESSAGE)
  @Max(value = MAX_AUTHENTICATION_LEVEL, message = EMAIL_AUTHENTICATION_LEVEL_FLD + " " + AUTH_LEVEL_MESSAGE)
  @JsonProperty(EMAIL_AUTHENTICATION_LEVEL_FLD)
  private Integer emailAuthenticationLevel;

  @Min(value = MIN_AUTHENTICATION_LEVEL, message = GOOGLE_AUTHENTICATOR_AUTHENTICATION_LEVEL_FLD + " " + AUTH_LEVEL_MESSAGE)
  @Max(value = MAX_AUTHENTICATION_LEVEL, message = GOOGLE_AUTHENTICATOR_AUTHENTICATION_LEVEL_FLD + " " + AUTH_LEVEL_MESSAGE)
  @JsonProperty(GOOGLE_AUTHENTICATOR_AUTHENTICATION_LEVEL_FLD)
  private Integer googleAuthenticatorAuthenticationLevel;

  @Min(value = MIN_AUTHENTICATION_LEVEL, message = PUSH_AUTHENTICATION_LEVEL_FLD + " " + AUTH_LEVEL_MESSAGE)
  @Max(value = MAX_AUTHENTICATION_LEVEL, message = PUSH_AUTHENTICATION_LEVEL_FLD + " " + AUTH_LEVEL_MESSAGE)
  @JsonProperty(PUSH_AUTHENTICATION_LEVEL_FLD)
  private Integer pushAuthenticationLevel;

  @Min(value = MIN_AUTHENTICATION_LEVEL, message = EXTERNALLY_DELIVERED_CODE_AUTHENTICATION_LEVEL_FLD + " " + AUTH_LEVEL_MESSAGE)
  @Max(value = MAX_AUTHENTICATION_LEVEL, message = EXTERNALLY_DELIVERED_CODE_AUTHENTICATION_LEVEL_FLD + " " + AUTH_LEVEL_MESSAGE)
  @JsonProperty(EXTERNALLY_DELIVERED_CODE_AUTHENTICATION_LEVEL_FLD)
  private Integer externallyDeliveredCodeAuthenticationLevel;

  @JsonProperty(USE_IDPS_TO_INCREASE_AUTH_LEVEL)
  private Boolean useIdpsToIncreaseAuthLevel;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy