Slide 44
Slide 44 text
fun Application.configureOAuth(authConf: Authentication.Configuration) =
authConf.oauth("oauth") {
val config = environment.config.config("keynotedex.oauth.github")
client = HttpClient(Apache)
.apply { environment.monitor.subscribe(ApplicationStopping) { close() } }
providerLookup = {
OAuthServerSettings.OAuth2ServerSettings(
name = "github",
authorizeUrl = "https: //github.com/login/oauth/authorize",
accessTokenUrl = "https: //github.com/login/oauth/access_token",
clientId = config.propertyOrNull("clientId") ?.getString() ?: "",
clientSecret = config.propertyOrNull("clientSecret") ?.getString() ?: ""
)
}
urlProvider = { settings: OAuthServerSettings ->
redirectString(OAuthLoginEndpoint(settings.name))
}
}