All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.http4k.connect.amazon.cognito.registerOAuthClient.kt Maven / Gradle / Ivy

There is a newer version: 5.24.1.0
Show newest version
package org.http4k.connect.amazon.cognito

import dev.forkhandles.result4k.valueOrNull
import org.http4k.connect.amazon.cognito.model.ClientId
import org.http4k.connect.amazon.cognito.model.ClientName
import org.http4k.connect.amazon.cognito.model.CloudFrontDomain
import org.http4k.connect.amazon.cognito.model.PoolName
import org.http4k.core.Credentials
import java.util.UUID

/**
 * Helper method to create some OAuth Client credentials inside FakeCognito
 */
fun FakeCognito.registerOAuthClient(id: ClientId, clientName: ClientName = ClientName.of(id.value)): Credentials =
    with(client()) {
        val poolId = createUserPool(PoolName.of("POOL" + UUID.randomUUID())).valueOrNull()!!.UserPool.Id!!

        createResourceServer(poolId, "foo", "bar").valueOrNull()
        createUserPoolDomain(poolId, CloudFrontDomain.of(id.value)).valueOrNull()
        val userPoolClient = createUserPoolClient(
            UserPoolId = poolId,
            ClientName = clientName,
            GenerateSecret = true
        ).valueOrNull()!!.UserPoolClient

        Credentials(userPoolClient.ClientId.value, userPoolClient.ClientSecret!!.value)
    }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy