• Home
  • Tutorials
  • API Documentation
Search Results for

    Show / Hide Table of Contents
    • Oracle.NoSQL.SDK
      • AddReplicaOptions
        • AddReplicaOptions
        • Compartment
        • MatchETag
        • PollDelay
        • ReadUnits
        • Timeout
        • WriteUnits
      • AddReplicaRequest
        • Options
        • RegionId
      • AdminOptions
        • AdminOptions
        • PollDelay
        • Timeout
      • AdminRequest
        • Options
        • Statement
      • AdminResult
        • Output
        • State
        • Statement
        • WaitForCompletionAsync
      • AdminState
        • Complete
        • InProgress
        • value__
      • AdminStatusRequest
        • AdminResult
        • Options
      • ArrayValue
        • Add
        • ArrayValue
        • Clear
        • Contains
        • CopyTo
        • Count
        • DbType
        • IndexOf
        • Insert
        • Item
        • Remove
        • RemoveAt
        • SerializeAsJson
      • AuthorizationException
        • AuthorizationException
        • IsRetryable
      • AuthorizationStringProvider
        • ApplyAuthorizationAsync
        • AuthorizationStringProvider
        • ConfigureAuthorization
        • GetAuthorizationStringAsync
      • BadProtocolException
        • BadProtocolException
      • BatchOperationNumberLimitException
        • BatchOperationNumberLimitException
      • BinaryValue
        • AsByteArray
        • BinaryValue
        • DbType
        • SerializeAsJson
      • BooleanValue
        • AsBoolean
        • DbType
        • False
        • SerializeAsJson
        • True
      • CapacityMode
        • OnDemand
        • Provisioned
        • value__
      • ConnectionOptions
        • ConnectionOptions
        • DisableHostnameVerification
        • TrustedRootCertificateFile
        • TrustedRootCertificates
      • Consistency
        • Absolute
        • Eventual
        • value__
      • ConsumedCapacity
        • RateLimitDelay
        • ReadKB
        • ReadRateLimitDelay
        • ReadUnits
        • ToString
        • WriteKB
        • WriteRateLimitDelay
        • WriteUnits
      • ControlOperationThrottlingException
        • ControlOperationThrottlingException
      • DbType
        • Array
        • Binary
        • Boolean
        • Double
        • Empty
        • Integer
        • JsonNull
        • Long
        • Map
        • Null
        • Number
        • String
        • Timestamp
        • value__
      • DeleteIfVersionOperation
        • MatchVersion
      • DeleteIfVersionRequest<TRow>
        • MatchVersion
      • DeleteManyOptions
        • AbortIfUnsuccessful
        • DeleteManyOptions
      • DeleteOperation
        • AbortIfUnsuccessful
        • Options
        • PrimaryKey
        • TableName
      • DeleteOptions
        • Compartment
        • DeleteOptions
        • Durability
        • MatchVersion
        • Namespace
        • ReturnExisting
        • Timeout
      • DeleteRangeContinuationKey
      • DeleteRangeOptions
        • Compartment
        • ContinuationKey
        • DeleteRangeOptions
        • Durability
        • FieldRange
        • MaxWriteKB
        • Namespace
        • Timeout
      • DeleteRangeRequest
        • FieldRange
        • Options
        • PartialPrimaryKey
      • DeleteRangeResult
        • ConsumedCapacity
        • ContinuationKey
        • DeletedCount
      • DeleteRequest<TRow>
        • Options
        • PrimaryKey
      • DeleteResult<TRow>
        • ConsumedCapacity
        • ExistingModificationTime
        • ExistingRow
        • ExistingVersion
        • Success
      • DeploymentLimitException
        • DeploymentLimitException
      • DoubleValue
        • AsDouble
        • DbType
        • DoubleValue
        • SerializeAsJson
        • ToDecimal
        • ToInt32
        • ToInt64
      • DropReplicaOptions
        • Compartment
        • DropReplicaOptions
        • MatchETag
        • PollDelay
        • Timeout
      • DropReplicaRequest
        • Options
        • RegionId
      • Durability
        • CommitNoSync
        • CommitSync
        • CommitWriteNoSync
        • Durability
        • Equality
        • Equals
        • GetHashCode
        • Inequality
        • MasterSync
        • ReplicaAck
        • ReplicaSync
      • ETagMismatchException
        • ETagMismatchException
      • EvolutionLimitException
        • EvolutionLimitException
      • FieldRange
        • EndsBefore
        • EndsWith
        • EndValue
        • FieldName
        • FieldRange
        • IsEndInclusive
        • IsStartInclusive
        • StartsAfter
        • StartsWith
        • StartValue
      • FieldValue
        • AsArrayValue
        • AsBoolean
        • AsByteArray
        • AsDateTime
        • AsDecimal
        • AsDouble
        • AsInt32
        • AsInt64
        • AsMapValue
        • AsRecordValue
        • AsString
        • CompareTo
        • Count
        • DbType
        • DeserializeFromJson
        • Equality
        • Equals
        • Explicit
        • FieldValue
        • FromJsonString
        • GetHashCode
        • GreaterThan
        • GreaterThanOrEqual
        • Implicit
        • Inequality
        • Item
        • JsonNull
        • LessThan
        • LessThanOrEqual
        • Null
        • SerializeAsJson
        • ToBoolean
        • ToByteArray
        • ToDateTime
        • ToDecimal
        • ToDouble
        • ToInt32
        • ToInt64
        • ToJsonString
        • ToString
      • GetAdminStatusOptions
        • GetAdminStatusOptions
        • Timeout
      • GetIndexesRequest
        • Options
      • GetIndexOptions
        • Compartment
        • GetIndexOptions
        • Namespace
        • Timeout
      • GetIndexRequest
        • IndexName
      • GetOptions
        • Compartment
        • Consistency
        • GetOptions
        • Namespace
        • Timeout
      • GetReplicaStatsOptions
        • Compartment
        • GetReplicaStatsOptions
        • Limit
        • StartTime
        • Timeout
      • GetReplicaStatsRequest
        • Options
        • RegionId
      • GetRequest<TRow>
        • Options
        • PrimaryKey
      • GetResult<TRow>
        • ConsumedCapacity
        • ExpirationTime
        • ModificationTime
        • Row
        • Version
      • GetTableOptions
        • Compartment
        • GetTableOptions
        • Namespace
        • Timeout
      • GetTableRequest
        • Options
      • GetTableUsageOptions
        • Compartment
        • EndTime
        • FromIndex
        • GetTableUsageOptions
        • Limit
        • StartTime
        • Timeout
      • GetTableUsageRequest
        • Options
      • IAMAuthorizationProvider
        • ApplyAuthorizationAsync
        • CacheDuration
        • ConfigFile
        • ConfigureAuthorization
        • CreateWithInstancePrincipal
        • CreateWithInstancePrincipalForDelegation
        • CreateWithInstancePrincipalForDelegationFromFile
        • CreateWithOKEWorkloadIdentity
        • CreateWithOKEWorkloadIdentityAndTokenFile
        • CreateWithResourcePrincipal
        • CreateWithSessionToken
        • Credentials
        • CredentialsProvider
        • DelegationTokenFile
        • DelegationTokenProvider
        • Dispose
        • FederationEndpoint
        • IAMAuthorizationProvider
        • ProfileName
        • RefreshAhead
        • RequestTimeout
        • ServiceAccountTokenFile
        • UseInstancePrincipal
        • UseOKEWorkloadIdentity
        • UseResourcePrincipal
        • UseSessionToken
      • IAMCredentials
        • Fingerprint
        • IAMCredentials
        • Passphrase
        • PrivateKey
        • PrivateKeyFile
        • PrivateKeyPEM
        • TenantId
        • UserId
      • IAuthorizationProvider
        • ApplyAuthorizationAsync
        • ConfigureAuthorization
      • IndexExistsException
        • IndexExistsException
      • IndexLimitException
        • IndexLimitException
      • IndexNotFoundException
        • IndexNotFoundException
      • IndexResult
        • Fields
        • FieldTypes
        • IndexName
      • InstanceMetadataClient
        • Dispose
        • GetRegionAsync
        • InstanceMetadataClient
      • IntegerValue
        • AsInt32
        • DbType
        • IntegerValue
        • SerializeAsJson
        • ToDateTime
        • ToDecimal
        • ToDouble
        • ToInt64
      • InvalidAuthorizationException
        • InvalidAuthorizationException
      • IRateLimiter
        • ConsumeUnitsAsync
        • HandleThrottlingException
        • SetLimit
      • IRetryHandler
        • GetRetryDelay
        • ShouldRetry
      • IWriteOperation
        • AbortIfUnsuccessful
        • TableName
      • JsonInputOptions
        • AllowComments
        • AllowTrailingCommas
        • JsonInputOptions
        • PreferDecimal
      • JsonNullValue
        • DbType
        • SerializeAsJson
      • JsonOutputOptions
        • DateTimeAsMillis
        • DateTimeFormatString
        • DefaultDateTimeFormatString
        • Indented
        • JsonOutputOptions
      • JsonParseException
        • JsonParseException
      • KeySizeLimitException
        • KeySizeLimitException
      • KVStoreAuthorizationProvider
        • AutoRenew
        • ConfigureAuthorization
        • Credentials
        • CredentialsFile
        • CredentialsProvider
        • Dispose
        • GetAuthorizationStringAsync
        • KVStoreAuthorizationProvider
        • RequestTimeout
      • KVStoreCredentials
        • KVStoreCredentials
        • Password
        • UserName
      • ListTablesOptions
        • Compartment
        • FromIndex
        • Limit
        • ListTablesOptions
        • Namespace
        • Timeout
      • ListTablesRequest
        • Options
      • ListTablesResult
        • NextIndex
        • TableNames
      • LongValue
        • AsInt64
        • DbType
        • LongValue
        • SerializeAsJson
        • ToDateTime
        • ToDecimal
        • ToDouble
        • ToInt32
      • MapValue
        • Add
        • Clear
        • ContainsKey
        • Count
        • DbType
        • Item
        • Keys
        • MapValue
        • Remove
        • SerializeAsJson
        • TryGetValue
        • Values
      • NoSQLClient
        • AddReplicaAsync
        • AddReplicaWithCompletionAsync
        • DeleteAsync
        • DeleteIfVersionAsync
        • DeleteManyAsync
        • DeleteRangeAsync
        • Dispose
        • DropReplicaAsync
        • DropReplicaWithCompletionAsync
        • ExecuteAdminAsync
        • ExecuteAdminWithCompletionAsync
        • ExecuteTableDDLAsync
        • ExecuteTableDDLWithCompletionAsync
        • GetAdminStatusAsync
        • GetAsync
        • GetDeleteRangeAsyncEnumerable
        • GetIndexAsync
        • GetIndexesAsync
        • GetListTablesAsyncEnumerable
        • GetQueryAsyncEnumerable
        • GetReplicaStatsAsync
        • GetTableAsync
        • GetTableUsageAsync
        • GetTableUsageAsyncEnumerable
        • ListNamespacesAsync
        • ListRolesAsync
        • ListTablesAsync
        • ListUsersAsync
        • NoSQLClient
        • PrepareAsync
        • PutAsync
        • PutIfAbsentAsync
        • PutIfPresentAsync
        • PutIfVersionAsync
        • PutManyAsync
        • QueryAsync
        • ServiceType
        • SetTableLimitsAsync
        • SetTableLimitsWithCompletionAsync
        • SetTableTagsAsync
        • SetTableTagsWithCompletionAsync
        • WaitForLocalReplicaInitAsync
        • WaitForTableStateAsync
        • WriteManyAsync
      • NoSQLConfig
        • AdminPollDelay
        • AdminPollTimeout
        • AdminTimeout
        • AuthorizationProvider
        • Compartment
        • ConnectionOptions
        • Consistency
        • Durability
        • Endpoint
        • FromJsonFile
        • FromJsonString
        • MaxMemoryMB
        • Namespace
        • NoRetries
        • NoSQLConfig
        • RateLimiterCreator
        • RateLimiterPercent
        • RateLimitingEnabled
        • Region
        • RetryHandler
        • ServiceType
        • TableDDLTimeout
        • TablePollDelay
        • TablePollTimeout
        • Timeout
      • NoSQLException
        • IsRetryable
        • Message
        • NoSQLException
        • Request
      • NoSQLRateLimiter
        • ConsumeUnitsAsync
        • HandleThrottlingException
        • NoSQLRateLimiter
        • SetLimit
      • NoSQLRetryHandler
        • BaseDelay
        • ControlOperationBaseDelay
        • GetRetryDelay
        • MaxRetryAttempts
        • NoSQLRetryHandler
        • ShouldRetry
      • NullValue
        • DbType
        • SerializeAsJson
      • NumberValue
        • AsDecimal
        • DbType
        • NumberValue
        • SerializeAsJson
        • ToDouble
        • ToInt32
        • ToInt64
      • PreparedStatement
        • ClearVariables
        • ConsumedCapacity
        • CopyStatement
        • QueryPlan
        • ResultSchema
        • SetVariable
        • SQLText
        • Variables
      • PrepareOptions
        • Compartment
        • GetQueryPlan
        • GetResultSchema
        • Namespace
        • PrepareOptions
        • Timeout
      • PrepareRequest
        • Options
        • Statement
      • PutIfAbsentOperation
      • PutIfAbsentRequest<TRow>
      • PutIfPresentOperation
      • PutIfPresentRequest<TRow>
      • PutIfVersionOperation
        • MatchVersion
      • PutIfVersionRequest<TRow>
        • MatchVersion
      • PutManyOptions
        • AbortIfUnsuccessful
        • PutManyOptions
      • PutOperation
        • AbortIfUnsuccessful
        • Options
        • Row
        • TableName
      • PutOptions
        • Compartment
        • Durability
        • ExactMatch
        • IdentityCacheSize
        • IfAbsent
        • IfPresent
        • MatchVersion
        • Namespace
        • PutOptions
        • ReturnExisting
        • Timeout
        • TTL
        • UpdateTTLToDefault
      • PutRequest<TRow>
        • Options
        • Row
      • PutResult<TRow>
        • ConsumedCapacity
        • ExistingModificationTime
        • ExistingRow
        • ExistingVersion
        • GeneratedValue
        • Success
        • Version
      • QueryContinuationKey
      • QueryOptions
        • Compartment
        • Consistency
        • ContinuationKey
        • Durability
        • Limit
        • MaxMemoryMB
        • MaxReadKB
        • MaxWriteKB
        • Namespace
        • QueryOptions
        • Timeout
      • QueryRequest
      • QueryRequest<TRow>
        • IsPrepared
        • Options
        • PreparedStatement
        • Statement
      • QueryRequestBase
      • QueryResult<TRow>
        • ConsumedCapacity
        • ContinuationKey
        • Rows
      • ReadRequest
      • ReadThrottlingException
        • ReadThrottlingException
      • RecordValue
        • Equals
        • GetKeyAtIndex
        • GetValueAtIndex
        • Insert
        • Item
        • RecordValue
        • RemoveAt
      • Region
        • AF_JOHANNESBURG_1
        • AP_CHIYODA_1
        • AP_CHUNCHEON_1
        • AP_DCC_CANBERRA_1
        • AP_DCC_GAZIPUR_1
        • AP_DCC_OSAKA_1
        • AP_DCC_TOKYO_1
        • AP_HOBSONVILLE_1
        • AP_HYDERABAD_1
        • AP_IBARAKI_1
        • AP_MELBOURNE_1
        • AP_MUMBAI_1
        • AP_OSAKA_1
        • AP_SEOUL_1
        • AP_SINGAPORE_1
        • AP_SINGAPORE_2
        • AP_SYDNEY_1
        • AP_TOKYO_1
        • CA_MONTREAL_1
        • CA_TORONTO_1
        • Endpoint
        • EU_AMSTERDAM_1
        • EU_DCC_DUBLIN_1
        • EU_DCC_DUBLIN_2
        • EU_DCC_MILAN_1
        • EU_DCC_MILAN_2
        • EU_DCC_RATING_1
        • EU_DCC_RATING_2
        • EU_DCC_ROME_1
        • EU_DCC_ZURICH_1
        • EU_FRANKFURT_1
        • EU_FRANKFURT_2
        • EU_JOVANOVAC_1
        • EU_MADRID_1
        • EU_MADRID_2
        • EU_MARSEILLE_1
        • EU_MILAN_1
        • EU_PARIS_1
        • EU_STOCKHOLM_1
        • EU_ZURICH_1
        • FromRegionCodeOrId
        • FromRegionId
        • IL_JERUSALEM_1
        • ME_ABUDHABI_1
        • ME_ABUDHABI_3
        • ME_DCC_DOHA_1
        • ME_DCC_MUSCAT_1
        • ME_DUBAI_1
        • ME_JEDDAH_1
        • MX_MONTERREY_1
        • MX_QUERETARO_1
        • RegionCode
        • RegionId
        • SA_BOGOTA_1
        • SA_SANTIAGO_1
        • SA_SAOPAULO_1
        • SA_VALPARAISO_1
        • SA_VINHEDO_1
        • SecondLevelDomain
        • ToString
        • UK_CARDIFF_1
        • UK_GOV_CARDIFF_1
        • UK_GOV_LONDON_1
        • UK_LONDON_1
        • US_ASHBURN_1
        • US_CHICAGO_1
        • US_DCC_PHOENIX_1
        • US_DCC_PHOENIX_2
        • US_DCC_PHOENIX_4
        • US_DCC_SWJORDAN_1
        • US_DCC_SWJORDAN_2
        • US_GOV_ASHBURN_1
        • US_GOV_CHICAGO_1
        • US_GOV_PHOENIX_1
        • US_LANGLEY_1
        • US_LUKE_1
        • US_PHOENIX_1
        • US_SALTLAKE_2
        • US_SANJOSE_1
        • US_TACOMA_1
        • US_WESTJORDAN_1
        • Values
      • ReplicaAckPolicy
        • All
        • None
        • SimpleMajority
        • value__
      • ReplicaInfo
        • CapacityMode
        • Region
        • ReplicaName
        • ReplicaOCID
        • TableState
        • WriteUnits
      • ReplicaStatsRecord
        • CollectionTime
        • ReplicaLag
        • ToString
        • UnknownLag
      • ReplicaStatsResult
        • NextStartTime
        • StatsRecords
        • TableName
      • Request
        • Exceptions
        • LastException
        • PriorException
        • RetryCount
      • RequestSizeLimitException
        • RequestSizeLimitException
      • RequestWithTable
        • TableName
      • ResourceExistsException
        • ResourceExistsException
      • ResourceNotFoundException
        • ResourceNotFoundException
      • RetryableException
        • IsRetryable
        • RetryableException
      • RowSizeLimitException
        • RowSizeLimitException
      • RowVersion
        • Bytes
        • Encoded
        • RowVersion
        • ToString
      • SecurityInfoNotReadyException
        • SecurityInfoNotReadyException
      • ServerException
        • ServerException
      • ServiceResponseException
        • IsRetryable
        • ResponseMessage
        • ServiceResponseException
        • StatusCode
        • StatusMessage
      • ServiceType
        • Cloud
        • CloudSim
        • KVStore
        • Unspecified
        • value__
      • ServiceUnavailableException
        • ServiceUnavailableException
      • StringValue
        • AsString
        • DbType
        • SerializeAsJson
        • StringValue
        • ToBoolean
        • ToByteArray
        • ToDateTime
        • ToDecimal
        • ToDouble
        • ToInt32
        • ToInt64
      • SyncPolicy
        • NoSync
        • Sync
        • value__
        • WriteNoSync
      • TableBusyException
        • TableBusyException
      • TableCompletionOptions
        • PollDelay
        • TableCompletionOptions
      • TableDDLOptions
        • Compartment
        • DefinedTags
        • FreeFormTags
        • MatchETag
        • Namespace
        • PollDelay
        • TableDDLOptions
        • TableLimits
        • Timeout
      • TableDDLRequest
        • Options
        • Statement
      • TableExistsException
        • TableExistsException
      • TableLimitException
        • TableLimitException
      • TableLimits
        • CapacityMode
        • ReadUnits
        • StorageGB
        • TableLimits
        • WriteUnits
      • TableLimitsRequest
        • TableLimits
      • TableNotFoundException
        • TableNotFoundException
      • TableNotReadyException
        • TableNotReadyException
      • TableOperationRequest
      • TableResult
        • CompartmentId
        • DefinedTags
        • ETag
        • FreeFormTags
        • IsLocalReplicaInitialized
        • IsReplicated
        • IsSchemaFrozen
        • Namespace
        • Replicas
        • TableDDL
        • TableLimits
        • TableName
        • TableOCID
        • TableSchema
        • TableState
        • WaitForCompletionAsync
      • TableSizeLimitException
        • TableSizeLimitException
      • TableState
        • Active
        • Creating
        • Dropped
        • Dropping
        • Updating
        • value__
      • TableTagsRequest
        • DefinedTags
        • FreeFormTags
      • TableUsageRecord
        • Duration
        • MaxShardUsagePercent
        • ReadThrottleCount
        • ReadUnits
        • StartTime
        • StorageGB
        • StorageThrottleCount
        • TableUsageRecord
        • ToString
        • WriteThrottleCount
        • WriteUnits
      • TableUsageResult
        • NextIndex
        • TableName
        • UsageRecords
      • TimestampValue
        • AsDateTime
        • DbType
        • SerializeAsJson
        • TimestampValue
        • ToInt64
      • TimeToLive
        • DoNotExpire
        • FromExpirationTime
        • OfDays
        • OfHours
        • TimeUnit
        • ToExpirationTime
        • ToString
        • Value
      • TTLTimeUnit
        • Days
        • Hours
        • value__
      • UnauthorizedException
        • UnauthorizedException
      • UnsupportedProtocolException
        • UnsupportedProtocolException
      • UnsupportedQueryVersionException
        • UnsupportedQueryVersionException
      • UserInfo
        • Id
        • Name
      • WriteManyOptions
        • AbortIfUnsuccessful
        • Compartment
        • Durability
        • Namespace
        • Timeout
        • WriteManyOptions
      • WriteManyRequest
      • WriteManyRequest<TRow>
        • DeleteManyOptions
        • Operations
        • PutManyOptions
        • TableName
        • WriteManyOptions
      • WriteManyResult<TRow>
        • ConsumedCapacity
        • FailedOperationIndex
        • FailedOperationResult
        • Results
        • Success
      • WriteOperationCollection
        • AddDelete
        • AddDeleteIfVersion
        • AddPut
        • AddPutIfAbsent
        • AddPutIfPresent
        • AddPutIfVersion
        • Clear
        • Count
        • WriteOperationCollection
      • WriteOperationResult<TRow>
        • ExistingModificationTime
        • ExistingRow
        • ExistingVersion
        • GeneratedValue
        • Success
        • Version
      • WriteRequest
      • WriteThrottlingException
        • WriteThrottlingException

    Class KVStoreAuthorizationProvider

    Authorization provider for the secure On-Premise Oracle NoSQL Database.
    Inheritance
    Object
    AuthorizationStringProvider
    KVStoreAuthorizationProvider
    Implements
    IAuthorizationProvider
    IDisposable
    Inherited Members
    AuthorizationStringProvider.ApplyAuthorizationAsync(Request, HttpRequestMessage, CancellationToken)
    Namespace: Oracle.NoSQL.SDK
    Assembly: Oracle.NoSQL.SDK.dll
    Syntax
    public class KVStoreAuthorizationProvider : AuthorizationStringProvider, IAuthorizationProvider
    Remarks

    Applications should use this provider to authenticate against the secure on-premise kvstore. The instance of this class should be set as AuthorizationProvider in the initial configuration.

    The authorization for the database operations requires the kvstore login token. The authorization provider is used to perform the following functions:

    1. The driver will log in to kvstore using the provided credentials and obtain the login token. The login is only performed the first time the authorization is needed (for the first database operation) and may also be performed after the login token expires. In the latter case the operation will throw InvalidAuthorizationException and will be automatically retried by the default retry handler, which will involve obtaining the new login token.
    2. If the AutoRenew property is set to true (which is the default), then after the initial login, the driver will renew the login token when it reaches half of its lifetime (half-point between acquisition and expiration). Renew request requires only the existing login token and does not require user credentials. If the renew request fails, the token will eventually expire and the driver will perform another login as described above.
    3. The driver will log out of the kvstore using the existing login token when the NoSQLClient instance is disposed.

    To obtain the login token the driver needs user name and password of existing kvstore user that has required permissions to perform needed database operations. These credentials are only used for the login operation as described above and are not needed for every database operation. The are 3 ways in which you may set these credentials, in order of increased security:

    1. You may provide credentials explicitly as Credentials property. The user name and password are provided as KVStoreCredentials object. This option is not very secure because the password is stored in main memory in plain text. You can erase the password after you finish using NoSQLClient instance and the password is no longer needed.
      Note that it is also possible to provide clear text credentials if you are storing NoSQLConfig in JSON file, in which case credentials may be stored as the sub-field within the value of AuthorizationProvider field. This latter option is not secure and should only be used during development/testing.
    2. You may store the user name and password in separate JSON file and set the path to this file as CredentialsFile property. This file should contain JSON representation of KVStoreCredentials object in the same format as NoSQLConfig is stored in JSON as discussed in the remarks section of NoSQLConfig. This option is more secure because the credentials file may be restricted by the appropriate permissions. The driver will load the credentials from this file on demand every time they are needed and it will erase the password from the main memory every time after the credentials are used.
    3. You can define your own credentials provider delegate and set it as CredentialsProvider. This is the most secure option because you can choose where the credentials are stored and how they are accessed. The credentials provider delegate will be called every time the credentials are needed and the password will be erased from the main memory every time after the credentials are used.
    Instead of specifying one of the properties described above you may also use one of KVStoreAuthorizationProvider constructors that initialize one of these properties, as shown in the examples.

    Note that secure on-premise NoSQL Database uses the same endpoint for the authentication and to perform the database operations. This endpoint must be using HTTPS protocol. See Endpoint.

    Examples
    Creating KVStoreAuthorizationProvider with the explicitly provided credentials.
    var config = new NoSQLConfig
    {
        Endpoint = "https://myhost:8888",
        AuthorizationProvider = new KVStoreAuthorizationProvider(
            userName, password)
        {
            RequestTimeout = TimeSpan.FromSeconds(15)
        }
    };
    Credentials in a JSON file ~/my_app/credentials.json.
    {
        "UserName": "John",
        "Password": "..."
    }
    Initial configuration in JSON file using the KVStoreAuthorizationProvider with the credentials file.
    {
        "Endpoint": "https://myhost:8888",
        "AuthorizationProvider": {
            "AuthorizationType": "KVStore",
            "CredentialsFile": "~/my_app/credentials.json"
        }
    }
    Using the credentials provider delegate.
    ...
    public static async Task<KVStoreCredentials> LoadCredentialsAsync(
        CancellationToken cancellationToken)
    {
        // Load user name and password from a secure location.
        ...
        return new KVStoreCredentials(userName, password);
    }
    ...
    var config = new NoSQLConfig
    {
        Endpoint = "https://myhost:8888",
        AuthorizationProvider = new KVStoreAuthorizationProvider(
            LoadCredentialsAsync);
    };

    Constructors

    Name Description
    KVStoreAuthorizationProvider() Initializes a new instance of KVStoreAuthorizationProvider.
    KVStoreAuthorizationProvider(KVStoreCredentials) Initializes a new instance of KVStoreAuthorizationProvider with the specified user credentials.
    KVStoreAuthorizationProvider(Func<CancellationToken, Task<KVStoreCredentials>>) Initializes a new instance of KVStoreAuthorizationProvider with the specified credentials provider delegate.
    KVStoreAuthorizationProvider(String) Initializes a new instance of KVStoreAuthorizationProvider with the specified path to the JSON credentials file.
    KVStoreAuthorizationProvider(String, Char[]) Initializes a new instance of KVStoreAuthorizationProvider with the specified user credentials.

    Properties

    Name Description
    AutoRenew Gets or sets the value that determines whether the login token should be automatically renewed.
    Credentials Gets or sets user credentials.
    CredentialsFile Gets or sets the path to the JSON credentials file.
    CredentialsProvider Gets or sets the credentials provider delegate.
    RequestTimeout Gets or sets the timeout for login, renew and logout requests.

    Methods

    Name Description
    ConfigureAuthorization(NoSQLConfig) Validates and configures the authorization provider.
    Dispose() Releases resources used by this KVStoreAuthorizationProvider instance.
    Dispose(Boolean) Releases the unmanaged resources used by this instance and optionally releases the managed resources.
    GetAuthorizationStringAsync(Request, CancellationToken) Gets the authorization string.

    See Also

    IAuthorizationProvider
    AuthorizationStringProvider
    KVStoreCredentials
    In This Article
    Back to top Copyright © 2020, 2024 Oracle and/or its affiliates. All rights reserved.