Closed nilsmagnus closed 4 years ago
Can confirm, although I used Gradle. Started with a generated projet through the IntelliJ plugin, and only have seen afterwards that it did not support 1.2.0, did the upgrade manually. Workd with 1.1.4, does not with 1.2.0.
According to updated docs there is a new way for basic auth on client:
val client = HttpClient() {
install(Auth) {
basic {
username = "username"
password = "password"
}
}
}
But at least for maven based build it does not resolve io.ktor.client.features.auth.Auth
either.
[ERROR] Failed to execute goal org.jetbrains.kotlin:kotlin-maven-plugin:1.3.31:compile (compile) on project my-project: Compilation failure: Compilation failure:
[ERROR] ....App.kt:[11,37] Unresolved reference: Auth
Looks like there is nothing, but metadata files in jar archive and documentation for maven projects is misleading. To make it work, dependency name should be adjusted with suffix -jvm
<dependency>
<groupId>io.ktor</groupId>
<artifactId>ktor-client-auth-jvm</artifactId>
<version>${ktor.version}</version>
</dependency>
Or basic auth
<dependency>
<groupId>io.ktor</groupId>
<artifactId>ktor-client-auth-basic-jvm</artifactId>
<version>${ktor.version}</version>
</dependency>
I accidentally created a duplicate issue yesterday evening. https://github.com/ktorio/ktor/issues/1150
@zeldigas When I add ktor-client-auth-jvm to my android project dependency it successfully builds but doesn't send any Authorization header.
Hi @nilsmagnus. Thanks for the report. As mentioned above, the feature Auth
with basic
provider is a common preferred way instead of BasicAuth
.
There is no metadata for JVM artifacts for now, and the artifact ktor-client-auth-jvm
should be used.
Thanks @e5l , the solution proposed by @zeldigas solves the issue.
Awesome :)
@nilsmagnus This issue should not be closed. Documentation and project generator are both producing the old, wrong version.
Thanks for the notice. We'll update the docs and generator.
This is still broken.
https://github.com/gradle/kotlin-dsl/issues/1117
I know this is unrelated but, cmon guys, its been almost two years and KT and friends just feel like so much hot garbage in practice, unstable, can't build, project generators have showstopping bugs in them, IntelliJ seems to like to crash, on top of that the whole Gradle ecosystem is a mess to debug??
You've had this bug for 2 months, it can't have been that hard to fix (for anyone who knows this system they've constructed). What happened, did all the funding dry up or something? Or is this just incredibly unstable that two patch versions broke this again?
Hi @smaudet, I can't reproduce the problem. What do you mean by still broken?
@e5l , it means that the example in the docs (https://ktor.io/clients/http-client/features/auth.html) is not working. The dependency stated there is not resolved.
Could you try?
implementation "io.ktor:ktor-client-auth-jvm:$ktor_version"
Yes, I could try that. But the documentation states
implementation "io.ktor:ktor-client-auth:$ktor_version"
For me neither ktor-client-auth nor ktor-client-auth-jvm work for me. I don't know how people are authenticating requests with ktor.
Has ktor been abandoned? To a brand-new user, seems like some very basic stuff is wrong. I just tried to use the intellij plugin and the code it produces doesn't even compile due to this problem.
@nilsmagnus, the documentation was fixed here: https://ktor.io/clients/http-client/features/auth.html @banshee could you file a separate issue for the plugin?
The docs are fixed here: https://ktor.io/clients/http-client/features/auth.html. The plugin is fixed in 1.3.2
release.
Guys, great thanks for the investigation!
Guys, with such a bad documentation - no one will be using ktor. Now it is awful. See how great is documentation in Spring.
Please include at least dependencies and corresponding imports in code snippets with examples.
We're working on it. Thanks.
awful documentation awful!!!! work on it please!
Ktor Version
1.2.0
Ktor Engine Used(client or server and name)
Ktor-engine: Netty, httpclient: Apache
JVM Version, Operating System and Relevant Context
java: 11.0.2-open OS: linux, ubuntu build-system: maven
Feedback
After upgrade to version 1.2.0 from verison 1.1.4, the BasicAuth class fails to resolve: 'import io.ktor.client.features.auth.basic.BasicAuth' does not work.
Error:
Sample application with Main.kt and pom.xml below:
src/main/kotlin/Main.kt:
Maven file: