// This is an automatically generated code sample.
// To make this code sample work in your Oracle Cloud tenancy,
// please replace the values for any parameters whose current values do not fit
// your use case (such as resource IDs, strings containing ‘EXAMPLE’ or ‘unique_id’, and
// boolean, number, and enum parameters with values not fitting your use case).
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Oci.IdentitydomainsService;
using Oci.Common;
using Oci.Common.Auth;
namespace Oci.Sdk.DotNet.Example.Identitydomains
{
public class PutAuthenticationFactorSettingExample
{
public static async Task Main()
{
// Create a request and dependent object(s).
var authenticationFactorSetting = new Oci.IdentitydomainsService.Models.AuthenticationFactorSetting
{
Id = "ocid1.test.oc1..<unique_ID>EXAMPLE-id-Value",
Ocid = "EXAMPLE-ocid-Value",
Schemas = new List<string>
{
"EXAMPLE--Value"
},
Meta = new Oci.IdentitydomainsService.Models.Meta
{
ResourceType = "EXAMPLE-resourceType-Value",
Created = "EXAMPLE-created-Value",
LastModified = "EXAMPLE-lastModified-Value",
Location = "EXAMPLE-location-Value",
Version = "EXAMPLE-version-Value"
},
IdcsCreatedBy = new Oci.IdentitydomainsService.Models.IdcsCreatedBy
{
Value = "EXAMPLE-value-Value",
Ref = "EXAMPLE-$ref-Value",
Type = Oci.IdentitydomainsService.Models.IdcsCreatedBy.TypeEnum.App,
Display = "EXAMPLE-display-Value",
Ocid = "EXAMPLE-ocid-Value"
},
IdcsLastModifiedBy = new Oci.IdentitydomainsService.Models.IdcsLastModifiedBy
{
Value = "EXAMPLE-value-Value",
Ref = "EXAMPLE-$ref-Value",
Type = Oci.IdentitydomainsService.Models.IdcsLastModifiedBy.TypeEnum.App,
Display = "EXAMPLE-display-Value",
Ocid = "EXAMPLE-ocid-Value"
},
IdcsPreventedOperations = new List<Oci.IdentitydomainsService.Models.IdcsPreventedOperations>
{
Oci.IdentitydomainsService.Models.IdcsPreventedOperations.Update
},
Tags = new List<Oci.IdentitydomainsService.Models.Tags>
{
new Oci.IdentitydomainsService.Models.Tags
{
Key = "EXAMPLE-key-Value",
Value = "EXAMPLE-value-Value"
}
},
DeleteInProgress = true,
IdcsLastUpgradedInRelease = "EXAMPLE-idcsLastUpgradedInRelease-Value",
DomainOcid = "EXAMPLE-domainOcid-Value",
CompartmentOcid = "EXAMPLE-compartmentOcid-Value",
TenancyOcid = "EXAMPLE-tenancyOcid-Value",
EmailEnabled = false,
SmsEnabled = false,
PhoneCallEnabled = false,
TotpEnabled = true,
PushEnabled = false,
BypassCodeEnabled = true,
SecurityQuestionsEnabled = false,
FidoAuthenticatorEnabled = true,
YubicoOtpEnabled = true,
MfaEnrollmentType = "EXAMPLE-mfaEnrollmentType-Value",
MfaEnabledCategory = "EXAMPLE-mfaEnabledCategory-Value",
HideBackupFactorEnabled = true,
AutoEnrollEmailFactorDisabled = true,
UserEnrollmentDisabledFactors = new List<Oci.IdentitydomainsService.Models.AuthenticationFactorSetting.UserEnrollmentDisabledFactorsEnum>
{
Oci.IdentitydomainsService.Models.AuthenticationFactorSetting.UserEnrollmentDisabledFactorsEnum.YubicoOtp
},
EmailSettings = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsEmailSettings
{
EmailLinkEnabled = false,
EmailLinkCustomUrl = "EXAMPLE-emailLinkCustomUrl-Value"
},
ThirdPartyFactor = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsThirdPartyFactor
{
DuoSecurity = false
},
NotificationSettings = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsNotificationSettings
{
PullEnabled = true
},
IdentityStoreSettings = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsIdentityStoreSettings
{
MobileNumberEnabled = false,
MobileNumberUpdateEnabled = true
},
BypassCodeSettings = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsBypassCodeSettings
{
SelfServiceGenerationEnabled = false,
HelpDeskGenerationEnabled = false,
Length = 758,
MaxActive = 757,
HelpDeskCodeExpiryInMins = 335,
HelpDeskMaxUsage = 836
},
ClientAppSettings = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsClientAppSettings
{
MinPinLength = 393,
MaxFailuresBeforeWarning = 578,
MaxFailuresBeforeLockout = 25,
InitialLockoutPeriodInSecs = 673,
LockoutEscalationPattern = "EXAMPLE-lockoutEscalationPattern-Value",
MaxLockoutIntervalInSecs = 405,
RequestSigningAlgo = Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsClientAppSettings.RequestSigningAlgoEnum.Sha384withRsa,
PolicyUpdateFreqInDays = 833,
KeyPairLength = 892,
DeviceProtectionPolicy = "EXAMPLE-deviceProtectionPolicy-Value",
UnlockAppForEachRequestEnabled = true,
UnlockOnAppStartEnabled = false,
UnlockAppIntervalInSecs = 388,
SharedSecretEncoding = Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsClientAppSettings.SharedSecretEncodingEnum.Base32,
UnlockOnAppForegroundEnabled = false
},
EndpointRestrictions = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsEndpointRestrictions
{
MaxEnrolledDevices = 53,
MaxTrustedEndpoints = 381,
MaxEndpointTrustDurationInDays = 228,
TrustedEndpointsEnabled = false,
MaxIncorrectAttempts = 136
},
CompliancePolicy = new List<Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsCompliancePolicy>
{
new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsCompliancePolicy
{
Name = "EXAMPLE-name-Value",
Action = Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsCompliancePolicy.ActionEnum.Allow,
Value = "EXAMPLE-value-Value"
}
},
TotpSettings = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsTotpSettings
{
HashingAlgorithm = Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsTotpSettings.HashingAlgorithmEnum.Sha512,
PasscodeLength = 121,
KeyRefreshIntervalInDays = 256,
TimeStepInSecs = 800,
TimeStepTolerance = 154,
SmsOtpValidityDurationInMins = 491,
JwtValidityDurationInSecs = 266,
SmsPasscodeLength = 848,
EmailOtpValidityDurationInMins = 838,
EmailPasscodeLength = 7
},
};
var putAuthenticationFactorSettingRequest = new Oci.IdentitydomainsService.Requests.PutAuthenticationFactorSettingRequest
{
AuthenticationFactorSettingId = "ocid1.test.oc1..<unique_ID>EXAMPLE-authenticationFactorSettingId-Value",
Authorization = "EXAMPLE-authorization-Value",
ResourceTypeSchemaVersion = "EXAMPLE-resourceTypeSchemaVersion-Value",
Attributes = "EXAMPLE-attributes-Value",
AttributeSets = new List<Oci.IdentitydomainsService.Models.AttributeSets>
{
Oci.IdentitydomainsService.Models.AttributeSets.All
},
AuthenticationFactorSetting = authenticationFactorSetting,
IfMatch = "EXAMPLE-ifMatch-Value",
OpcRetryToken = "EXAMPLE-opcRetryToken-Value"
};
// Create a default authentication provider that uses the DEFAULT
// profile in the configuration file.
// Refer to <see href="https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm#SDK_and_CLI_Configuration_File>the public documentation</see> on how to prepare a configuration file.
var provider = new ConfigFileAuthenticationDetailsProvider("DEFAULT");
try
{
// Create a service client and send the request.
using (var client = new IdentityDomainsClient(provider, new ClientConfiguration()))
{
var response = await client.PutAuthenticationFactorSetting(putAuthenticationFactorSettingRequest);
// Retrieve value from the response.
var id = response.AuthenticationFactorSetting.Id;
}
}
catch (Exception e)
{
Console.WriteLine($"PutAuthenticationFactorSetting Failed with {e.Message}");
throw e;
}
}
}
}