Package-level declarations

Types

Link copied to clipboard
data class Auth(val code: AuthCode?, val state: String?, val error: String?, val errorDescription: String?)
Link copied to clipboard
@KotshiJsonAdapterFactory
object IAMIdentityCenterJsonAdapterFactory : JsonAdapter.Factory
Link copied to clipboard
interface OIDC

Docs: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html

Link copied to clipboard
abstract class OIDCAction<R : Any>(clazz: KClass<R>) : NonNullAutoMarshalledAction<R>
Link copied to clipboard
data class PkceAuth(val codeVerifier: PKCECodeVerifier, val code: AuthCode, val redirectUri: Uri)
Link copied to clipboard
Link copied to clipboard
interface SSO
Link copied to clipboard
abstract class SSOAction<R : Any>(clazz: KClass<R>) : NonNullAutoMarshalledAction<R>
Link copied to clipboard
@JsonSerializable
data class SSOCachedRegistration(val clientId: String, val clientSecret: String, val expiresAt: Instant, val scopes: List<String>? = null, val grantTypes: List<GrantType>? = null)
Link copied to clipboard
@JsonSerializable
data class SSOCachedToken(val startUrl: String, val region: String, val accessToken: String, val expiresAt: Instant, val clientId: String, val clientSecret: String, val registrationExpiresAt: Instant, val refreshToken: String? = null)
Link copied to clipboard
class SSOCacheManager(val ssoProfile: SSOProfile, val cachedTokenDirectory: Path, val clientName: ClientName)
Link copied to clipboard
sealed interface SSOLogin
Link copied to clipboard
Link copied to clipboard
class SSOLoginEnabled(val openBrowser: (Uri) -> Any, val waitFor: (Long) -> Unit, val serverConfig: ServerConfig, val forceRefresh: Boolean) : SSOLogin

Properties

Link copied to clipboard

Use SSO to log into the AWS command line using a browser interaction

Functions

Link copied to clipboard
Link copied to clipboard
fun OIDC.Companion.Http(region: Region, http: HttpHandler = JavaHttpClient()): OIDC

Standard HTTP implementation of OIDC

fun SSO.Companion.Http(region: Region, http: HttpHandler = JavaHttpClient()): SSO

Standard HTTP implementation of SSO

Link copied to clipboard
Link copied to clipboard
fun CredentialsProvider.Companion.SSO(ssoProfile: SSOProfile, http: HttpHandler = JavaHttpClient(), clock: Clock = Clock.systemUTC(), clientName: ClientName = ClientName.of("http4k-connect-client"), cachedTokenDirectory: Path = Path(System.getProperty("user.home")).resolve(".aws/sso/cache"), login: SSOLogin = SSOLogin.enabled()): CredentialsProvider
fun CredentialsChain.Companion.SSO(env: Environment = Environment.ENV, profileName: ProfileName = AWS_PROFILE(env), configPath: Path = AWS_CONFIG_FILE(env), clientName: ClientName = ClientName.of("http4k-connect-client"), http: HttpHandler = JavaHttpClient(), clock: Clock = Clock.systemUTC(), cachedTokenDirectory: Path = Path(System.getProperty("user.home")).resolve(".aws/sso/cache"), login: SSOLogin = SSOLogin.enabled()): CredentialsChain
Link copied to clipboard
Link copied to clipboard
fun Path.touch(restrictToOwner: Boolean = false): Path