// 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.User,
Display = "EXAMPLE-display-Value",
Ocid = "EXAMPLE-ocid-Value"
},
IdcsPreventedOperations = new List<Oci.IdentitydomainsService.Models.IdcsPreventedOperations>
{
Oci.IdentitydomainsService.Models.IdcsPreventedOperations.Delete
},
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 = false,
PushEnabled = false,
BypassCodeEnabled = false,
SecurityQuestionsEnabled = true,
FidoAuthenticatorEnabled = false,
YubicoOtpEnabled = true,
MfaEnrollmentType = "EXAMPLE-mfaEnrollmentType-Value",
MfaEnabledCategory = "EXAMPLE-mfaEnabledCategory-Value",
HideBackupFactorEnabled = false,
AutoEnrollEmailFactorDisabled = false,
UserEnrollmentDisabledFactors = new List<Oci.IdentitydomainsService.Models.AuthenticationFactorSetting.UserEnrollmentDisabledFactorsEnum>
{
Oci.IdentitydomainsService.Models.AuthenticationFactorSetting.UserEnrollmentDisabledFactorsEnum.Totp
},
EmailSettings = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsEmailSettings
{
EmailLinkEnabled = false,
EmailLinkCustomUrl = "EXAMPLE-emailLinkCustomUrl-Value"
},
ThirdPartyFactor = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsThirdPartyFactor
{
DuoSecurity = true
},
NotificationSettings = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsNotificationSettings
{
PullEnabled = true
},
IdentityStoreSettings = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsIdentityStoreSettings
{
MobileNumberEnabled = true,
MobileNumberUpdateEnabled = false
},
BypassCodeSettings = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsBypassCodeSettings
{
SelfServiceGenerationEnabled = true,
HelpDeskGenerationEnabled = false,
Length = 304,
MaxActive = 645,
HelpDeskCodeExpiryInMins = 254,
HelpDeskMaxUsage = 454
},
ClientAppSettings = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsClientAppSettings
{
MinPinLength = 640,
MaxFailuresBeforeWarning = 39,
MaxFailuresBeforeLockout = 306,
InitialLockoutPeriodInSecs = 104,
LockoutEscalationPattern = "EXAMPLE-lockoutEscalationPattern-Value",
MaxLockoutIntervalInSecs = 421,
RequestSigningAlgo = Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsClientAppSettings.RequestSigningAlgoEnum.Sha512withRsa,
PolicyUpdateFreqInDays = 669,
KeyPairLength = 138,
DeviceProtectionPolicy = "EXAMPLE-deviceProtectionPolicy-Value",
UnlockAppForEachRequestEnabled = true,
UnlockOnAppStartEnabled = false,
UnlockAppIntervalInSecs = 260,
SharedSecretEncoding = Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsClientAppSettings.SharedSecretEncodingEnum.Base64,
UnlockOnAppForegroundEnabled = false
},
EndpointRestrictions = new Oci.IdentitydomainsService.Models.AuthenticationFactorSettingsEndpointRestrictions
{
MaxEnrolledDevices = 748,
MaxTrustedEndpoints = 768,
MaxEndpointTrustDurationInDays = 422,
TrustedEndpointsEnabled = true,
MaxIncorrectAttempts = 897
},
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.Sha1,
PasscodeLength = 774,
KeyRefreshIntervalInDays = 164,
TimeStepInSecs = 639,
TimeStepTolerance = 177,
SmsOtpValidityDurationInMins = 706,
JwtValidityDurationInSecs = 811,
SmsPasscodeLength = 846,
EmailOtpValidityDurationInMins = 385,
EmailPasscodeLength = 801
},
};
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;
}
}
}
}