[kotlin] ktor で basic auth したい
ktor-auth コンポーネントで簡単に設定できます。
compile "org.jetbrains.ktor:ktor-auth:$ktor_version"
で、あとは以下のように認証を設定する。設定した principal をコントローラ内でも取得可能。
route("/") {
authentication {
basicAuthentication("your-app-realm") { credentials ->
val username = credentials.name
val password = credentials.password
if (checkAuth(username, password)) {
UserIdPrincipal(username, password)
} else {
null
}
}
}
get("/hello") {
val name = call.principal<UserIdPrincipal>()!!.name
call.respondText("Hello $name")
}
}
簡単ですね。
Published: 2017-05-26(Fri) 23:45