Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.web.kotlin
import com.pulumi.azurenative.web.WebAppAuthSettingsSlotArgs.builder
import com.pulumi.azurenative.web.kotlin.enums.BuiltInAuthenticationProvider
import com.pulumi.azurenative.web.kotlin.enums.UnauthenticatedClientAction
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Double
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Configuration settings for the Azure App Service Authentication / Authorization feature.
* Azure REST API version: 2022-09-01. Prior API version in Azure Native 1.x: 2020-12-01.
* Other available API versions: 2020-10-01, 2023-01-01, 2023-12-01.
* ## Import
* An existing resource can be imported using its type token, name, and identifier, e.g.
* ```sh
* $ pulumi import azure-native:web:WebAppAuthSettingsSlot myresource1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings
* ```
* @property aadClaimsAuthorization Gets a JSON string containing the Azure AD Acl settings.
* @property additionalLoginParams Login parameters to send to the OpenID Connect authorization endpoint when
* a user logs in. Each parameter must be in the form "key=value".
* @property allowedAudiences Allowed audience values to consider when validating JSON Web Tokens issued by
* Azure Active Directory. Note that the ClientID value is always considered an
* allowed audience, regardless of this setting.
* @property allowedExternalRedirectUrls External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.
* This is an advanced setting typically only needed by Windows Store application backends.
* Note that URLs within the current domain are always implicitly allowed.
* @property authFilePath The path of the config file containing auth settings.
* If the path is relative, base will the site's root directory.
* @property clientId The Client ID of this relying party application, known as the client_id.
* This setting is required for enabling OpenID Connection authentication with Azure Active Directory or
* other 3rd party OpenID Connect providers.
* More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
* @property clientSecret The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key).
* This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users.
* Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users.
* More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html
* @property clientSecretCertificateThumbprint An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as
* a replacement for the Client Secret. It is also optional.
* @property clientSecretSettingName The app setting name that contains the client secret of the relying party application.
* @property configVersion The ConfigVersion of the Authentication / Authorization feature in use for the current app.
* The setting in this value can control the behavior of the control plane for Authentication / Authorization.
* @property defaultProvider The default authentication provider to use when multiple providers are configured.
* This setting is only needed if multiple providers are configured and the unauthenticated client
* action is set to "RedirectToLoginPage".
* @property enabled true if the Authentication / Authorization feature is enabled for the current app; otherwise, false.
* @property facebookAppId The App ID of the Facebook app used for login.
* This setting is required for enabling Facebook Login.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
* @property facebookAppSecret The App Secret of the Facebook app used for Facebook Login.
* This setting is required for enabling Facebook Login.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
* @property facebookAppSecretSettingName The app setting name that contains the app secret used for Facebook Login.
* @property facebookOAuthScopes The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication.
* This setting is optional.
* Facebook Login documentation: https://developers.facebook.com/docs/facebook-login
* @property gitHubClientId The Client Id of the GitHub app used for login.
* This setting is required for enabling Github login
* @property gitHubClientSecret The Client Secret of the GitHub app used for Github Login.
* This setting is required for enabling Github login.
* @property gitHubClientSecretSettingName The app setting name that contains the client secret of the Github
* app used for GitHub Login.
* @property gitHubOAuthScopes The OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
* This setting is optional
* @property googleClientId The OpenID Connect Client ID for the Google web application.
* This setting is required for enabling Google Sign-In.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
* @property googleClientSecret The client secret associated with the Google web application.
* This setting is required for enabling Google Sign-In.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
* @property googleClientSecretSettingName The app setting name that contains the client secret associated with
* the Google web application.
* @property googleOAuthScopes The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication.
* This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes.
* Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/
* @property isAuthFromFile "true" if the auth config settings should be read from a file,
* "false" otherwise
* @property issuer The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.
* When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
* This URI is a case-sensitive identifier for the token issuer.
* More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html
* @property kind Kind of resource.
* @property microsoftAccountClientId The OAuth 2.0 client ID that was created for the app used for authentication.
* This setting is required for enabling Microsoft Account authentication.
* Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
* @property microsoftAccountClientSecret The OAuth 2.0 client secret that was created for the app used for authentication.
* This setting is required for enabling Microsoft Account authentication.
* Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm
* @property microsoftAccountClientSecretSettingName The app setting name containing the OAuth 2.0 client secret that was created for the
* app used for authentication.
* @property microsoftAccountOAuthScopes The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication.
* This setting is optional. If not specified, "wl.basic" is used as the default scope.
* Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx
* @property name Name of web app.
* @property resourceGroupName Name of the resource group to which the resource belongs.
* @property runtimeVersion The RuntimeVersion of the Authentication / Authorization feature in use for the current app.
* The setting in this value can control the behavior of certain features in the Authentication / Authorization module.
* @property slot Name of web app slot. If not specified then will default to production slot.
* @property tokenRefreshExtensionHours The number of hours after session token expiration that a session token can be used to
* call the token refresh API. The default is 72 hours.
* @property tokenStoreEnabled true to durably store platform-specific security tokens that are obtained during login flows; otherwise, false.
* The default is false.
* @property twitterConsumerKey The OAuth 1.0a consumer key of the Twitter application used for sign-in.
* This setting is required for enabling Twitter Sign-In.
* Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
* @property twitterConsumerSecret The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
* This setting is required for enabling Twitter Sign-In.
* Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in
* @property twitterConsumerSecretSettingName The app setting name that contains the OAuth 1.0a consumer secret of the Twitter
* application used for sign-in.
* @property unauthenticatedClientAction The action to take when an unauthenticated client attempts to access the app.
* @property validateIssuer Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such.
*/
public data class WebAppAuthSettingsSlotArgs(
public val aadClaimsAuthorization: Output? = null,
public val additionalLoginParams: Output>? = null,
public val allowedAudiences: Output>? = null,
public val allowedExternalRedirectUrls: Output>? = null,
public val authFilePath: Output? = null,
public val clientId: Output? = null,
public val clientSecret: Output? = null,
public val clientSecretCertificateThumbprint: Output? = null,
public val clientSecretSettingName: Output? = null,
public val configVersion: Output? = null,
public val defaultProvider: Output? = null,
public val enabled: Output? = null,
public val facebookAppId: Output? = null,
public val facebookAppSecret: Output? = null,
public val facebookAppSecretSettingName: Output? = null,
public val facebookOAuthScopes: Output>? = null,
public val gitHubClientId: Output? = null,
public val gitHubClientSecret: Output? = null,
public val gitHubClientSecretSettingName: Output? = null,
public val gitHubOAuthScopes: Output>? = null,
public val googleClientId: Output? = null,
public val googleClientSecret: Output? = null,
public val googleClientSecretSettingName: Output? = null,
public val googleOAuthScopes: Output>? = null,
public val isAuthFromFile: Output? = null,
public val issuer: Output? = null,
public val kind: Output? = null,
public val microsoftAccountClientId: Output? = null,
public val microsoftAccountClientSecret: Output? = null,
public val microsoftAccountClientSecretSettingName: Output? = null,
public val microsoftAccountOAuthScopes: Output>? = null,
public val name: Output? = null,
public val resourceGroupName: Output? = null,
public val runtimeVersion: Output? = null,
public val slot: Output? = null,
public val tokenRefreshExtensionHours: Output? = null,
public val tokenStoreEnabled: Output? = null,
public val twitterConsumerKey: Output? = null,
public val twitterConsumerSecret: Output? = null,
public val twitterConsumerSecretSettingName: Output? = null,
public val unauthenticatedClientAction: Output? = null,
public val validateIssuer: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.web.WebAppAuthSettingsSlotArgs =
com.pulumi.azurenative.web.WebAppAuthSettingsSlotArgs.builder()
.aadClaimsAuthorization(aadClaimsAuthorization?.applyValue({ args0 -> args0 }))
.additionalLoginParams(additionalLoginParams?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.allowedAudiences(allowedAudiences?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.allowedExternalRedirectUrls(
allowedExternalRedirectUrls?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.authFilePath(authFilePath?.applyValue({ args0 -> args0 }))
.clientId(clientId?.applyValue({ args0 -> args0 }))
.clientSecret(clientSecret?.applyValue({ args0 -> args0 }))
.clientSecretCertificateThumbprint(
clientSecretCertificateThumbprint?.applyValue({ args0 ->
args0
}),
)
.clientSecretSettingName(clientSecretSettingName?.applyValue({ args0 -> args0 }))
.configVersion(configVersion?.applyValue({ args0 -> args0 }))
.defaultProvider(defaultProvider?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.enabled(enabled?.applyValue({ args0 -> args0 }))
.facebookAppId(facebookAppId?.applyValue({ args0 -> args0 }))
.facebookAppSecret(facebookAppSecret?.applyValue({ args0 -> args0 }))
.facebookAppSecretSettingName(facebookAppSecretSettingName?.applyValue({ args0 -> args0 }))
.facebookOAuthScopes(facebookOAuthScopes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.gitHubClientId(gitHubClientId?.applyValue({ args0 -> args0 }))
.gitHubClientSecret(gitHubClientSecret?.applyValue({ args0 -> args0 }))
.gitHubClientSecretSettingName(gitHubClientSecretSettingName?.applyValue({ args0 -> args0 }))
.gitHubOAuthScopes(gitHubOAuthScopes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.googleClientId(googleClientId?.applyValue({ args0 -> args0 }))
.googleClientSecret(googleClientSecret?.applyValue({ args0 -> args0 }))
.googleClientSecretSettingName(googleClientSecretSettingName?.applyValue({ args0 -> args0 }))
.googleOAuthScopes(googleOAuthScopes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.isAuthFromFile(isAuthFromFile?.applyValue({ args0 -> args0 }))
.issuer(issuer?.applyValue({ args0 -> args0 }))
.kind(kind?.applyValue({ args0 -> args0 }))
.microsoftAccountClientId(microsoftAccountClientId?.applyValue({ args0 -> args0 }))
.microsoftAccountClientSecret(microsoftAccountClientSecret?.applyValue({ args0 -> args0 }))
.microsoftAccountClientSecretSettingName(
microsoftAccountClientSecretSettingName?.applyValue({ args0 ->
args0
}),
)
.microsoftAccountOAuthScopes(
microsoftAccountOAuthScopes?.applyValue({ args0 ->
args0.map({ args0 ->
args0
})
}),
)
.name(name?.applyValue({ args0 -> args0 }))
.resourceGroupName(resourceGroupName?.applyValue({ args0 -> args0 }))
.runtimeVersion(runtimeVersion?.applyValue({ args0 -> args0 }))
.slot(slot?.applyValue({ args0 -> args0 }))
.tokenRefreshExtensionHours(tokenRefreshExtensionHours?.applyValue({ args0 -> args0 }))
.tokenStoreEnabled(tokenStoreEnabled?.applyValue({ args0 -> args0 }))
.twitterConsumerKey(twitterConsumerKey?.applyValue({ args0 -> args0 }))
.twitterConsumerSecret(twitterConsumerSecret?.applyValue({ args0 -> args0 }))
.twitterConsumerSecretSettingName(twitterConsumerSecretSettingName?.applyValue({ args0 -> args0 }))
.unauthenticatedClientAction(
unauthenticatedClientAction?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.validateIssuer(validateIssuer?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [WebAppAuthSettingsSlotArgs].
*/
@PulumiTagMarker
public class WebAppAuthSettingsSlotArgsBuilder internal constructor() {
private var aadClaimsAuthorization: Output? = null
private var additionalLoginParams: Output>? = null
private var allowedAudiences: Output>? = null
private var allowedExternalRedirectUrls: Output>? = null
private var authFilePath: Output? = null
private var clientId: Output? = null
private var clientSecret: Output? = null
private var clientSecretCertificateThumbprint: Output? = null
private var clientSecretSettingName: Output? = null
private var configVersion: Output? = null
private var defaultProvider: Output? = null
private var enabled: Output? = null
private var facebookAppId: Output? = null
private var facebookAppSecret: Output? = null
private var facebookAppSecretSettingName: Output? = null
private var facebookOAuthScopes: Output>? = null
private var gitHubClientId: Output? = null
private var gitHubClientSecret: Output? = null
private var gitHubClientSecretSettingName: Output? = null
private var gitHubOAuthScopes: Output>? = null
private var googleClientId: Output? = null
private var googleClientSecret: Output? = null
private var googleClientSecretSettingName: Output? = null
private var googleOAuthScopes: Output>? = null
private var isAuthFromFile: Output? = null
private var issuer: Output? = null
private var kind: Output? = null
private var microsoftAccountClientId: Output? = null
private var microsoftAccountClientSecret: Output? = null
private var microsoftAccountClientSecretSettingName: Output? = null
private var microsoftAccountOAuthScopes: Output>? = null
private var name: Output? = null
private var resourceGroupName: Output? = null
private var runtimeVersion: Output? = null
private var slot: Output? = null
private var tokenRefreshExtensionHours: Output? = null
private var tokenStoreEnabled: Output? = null
private var twitterConsumerKey: Output? = null
private var twitterConsumerSecret: Output? = null
private var twitterConsumerSecretSettingName: Output? = null
private var unauthenticatedClientAction: Output? = null
private var validateIssuer: Output? = null
/**
* @param value Gets a JSON string containing the Azure AD Acl settings.
*/
@JvmName("ljphiodancesowdg")
public suspend fun aadClaimsAuthorization(`value`: Output) {
this.aadClaimsAuthorization = value
}
/**
* @param value Login parameters to send to the OpenID Connect authorization endpoint when
* a user logs in. Each parameter must be in the form "key=value".
*/
@JvmName("lhdbpjnpulsrahct")
public suspend fun additionalLoginParams(`value`: Output>) {
this.additionalLoginParams = value
}
@JvmName("nrtkucoodrwfblmh")
public suspend fun additionalLoginParams(vararg values: Output) {
this.additionalLoginParams = Output.all(values.asList())
}
/**
* @param values Login parameters to send to the OpenID Connect authorization endpoint when
* a user logs in. Each parameter must be in the form "key=value".
*/
@JvmName("ilfmlurbgsyeulwq")
public suspend fun additionalLoginParams(values: List