yushijinhun / authlib-agent

本项目已停止开发,请使用 https://github.com/to2mbn/authlib-injector 作为替代。
MIT License
39 stars 9 forks source link

为什么我对ManagerAPI做出注册操作后客户端依然无法登陆 #2

Closed ChenhaoShen closed 8 years ago

ChenhaoShen commented 8 years ago

[13:27:30 INFO]: Loaded 0 profile(s); selected '(Default)' [13:27:43 INFO]: Logging in with username & password [13:27:57 ERROR]: Couldn't log in com.mojang.authlib.exceptions.AuthenticationUnavailableException: Cannot contact authentication server at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:75) ~[launcher.jar:1.6.61] at com.mojang.authlib.yggdrasil.YggdrasilUserAuthentication.logInWithPassword(YggdrasilUserAuthentication.java:74) ~[launcher.jar:1.6.61] at com.mojang.authlib.yggdrasil.YggdrasilUserAuthentication.logIn(YggdrasilUserAuthentication.java:57) ~[launcher.jar:1.6.61] at net.minecraft.launcher.ui.popups.login.LogInForm$4.run(LogInForm.java:171) [launcher.jar:1.6.61] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_77] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_77] at java.lang.Thread.run(Unknown Source) [?:1.8.0_77] Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 15 at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176) ~[Minecraft.jar:?] at com.google.gson.Gson.fromJson(Gson.java:795) ~[Minecraft.jar:?] at com.google.gson.Gson.fromJson(Gson.java:761) ~[Minecraft.jar:?] at com.google.gson.Gson.fromJson(Gson.java:710) ~[Minecraft.jar:?] at com.google.gson.Gson.fromJson(Gson.java:682) ~[Minecraft.jar:?] at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:55) ~[launcher.jar:1.6.61] ... 6 more Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 15 at com.google.gson.stream.JsonReader.expect(JsonReader.java:339) ~[Minecraft.jar:?] at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:322) ~[Minecraft.jar:?] at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:165) ~[Minecraft.jar:?] at com.google.gson.Gson.fromJson(Gson.java:795) ~[Minecraft.jar:?] at com.google.gson.Gson.fromJson(Gson.java:761) ~[Minecraft.jar:?] at com.google.gson.Gson.fromJson(Gson.java:710) ~[Minecraft.jar:?] at com.google.gson.Gson.fromJson(Gson.java:682) ~[Minecraft.jar:?] at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:55) ~[launcher.jar:1.6.61] ... 6 more 这是为什么?

ChenhaoShen commented 8 years ago

<?xml version="1.0" encoding="GBK" standalone="no"?> <!DOCTYPE log SYSTEM "logger.dtd">

2016-04-13T13:33:42 1460525622097 1 yushijinhun.authlibagent.javaagent.ExhaustiveTransformer INFO yushijinhun.authlibagent.javaagent.ExhaustiveTransformer$1$1 visitLdcInsn 1 transform com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository:findProfilesByNames https://api.mojang.com/profiles/ -> http://auth.lazercloud.com/profilerepo/ 2016-04-13T13:33:42 1460525622127 2 yushijinhun.authlibagent.javaagent.ExhaustiveTransformer INFO yushijinhun.authlibagent.javaagent.Transformer transformClass 1 transform unit yggdrasil_publickey_transformer 2016-04-13T13:33:42 1460525622140 3 yushijinhun.authlibagent.javaagent.ExhaustiveTransformer INFO yushijinhun.authlibagent.javaagent.ExhaustiveTransformer$1$1 visitLdcInsn 1 transform com/mojang/authlib/yggdrasil/YggdrasilMinecraftSessionService:fillGameProfile https://sessionserver.mojang.com/session/minecraft/profile/ -> http://auth.lazercloud.com/profiles/minecraft/ 2016-04-13T13:33:42 1460525622145 4 yushijinhun.authlibagent.javaagent.ExhaustiveTransformer INFO yushijinhun.authlibagent.javaagent.ExhaustiveTransformer$1$1 visitLdcInsn 1 transform com/mojang/authlib/yggdrasil/YggdrasilMinecraftSessionService:<clinit> https://sessionserver.mojang.com/session/minecraft/join -> http://auth.lazercloud.com/joinserver 2016-04-13T13:33:42 1460525622149 5 yushijinhun.authlibagent.javaagent.ExhaustiveTransformer INFO yushijinhun.authlibagent.javaagent.ExhaustiveTransformer$1$1 visitLdcInsn 1 transform com/mojang/authlib/yggdrasil/YggdrasilMinecraftSessionService:<clinit> https://sessionserver.mojang.com/session/minecraft/hasJoined -> http://auth.lazercloud.com/hasjoinserver 2016-04-13T13:33:42 1460525622166 6 yushijinhun.authlibagent.javaagent.ExhaustiveTransformer INFO yushijinhun.authlibagent.javaagent.ExhaustiveTransformer$1$1 visitLdcInsn 1 transform com/mojang/authlib/yggdrasil/YggdrasilUserAuthentication:<clinit> https://authserver.mojang.com/authenticate -> http://auth.lazercloud.com/authenticate 2016-04-13T13:33:42 1460525622171 7 yushijinhun.authlibagent.javaagent.ExhaustiveTransformer INFO yushijinhun.authlibagent.javaagent.ExhaustiveTransformer$1$1 visitLdcInsn 1 transform com/mojang/authlib/yggdrasil/YggdrasilUserAuthentication:<clinit> https://authserver.mojang.com/refresh -> http://auth.lazercloud.com/refresh 2016-04-13T13:33:42 1460525622176 8 yushijinhun.authlibagent.javaagent.ExhaustiveTransformer INFO yushijinhun.authlibagent.javaagent.ExhaustiveTransformer$1$1 visitLdcInsn 1 transform com/mojang/authlib/yggdrasil/YggdrasilUserAuthentication:<clinit> https://authserver.mojang.com/validate -> http://auth.lazercloud.com/validate 2016-04-13T13:33:42 1460525622180 9 yushijinhun.authlibagent.javaagent.ExhaustiveTransformer INFO yushijinhun.authlibagent.javaagent.ExhaustiveTransformer$1$1 visitLdcInsn 1 transform com/mojang/authlib/yggdrasil/YggdrasilUserAuthentication:<clinit> https://authserver.mojang.com/invalidate -> http://auth.lazercloud.com/invalidate 2016-04-13T13:33:42 1460525622186 10 yushijinhun.authlibagent.javaagent.ExhaustiveTransformer INFO yushijinhun.authlibagent.javaagent.ExhaustiveTransformer$1$1 visitLdcInsn 1 transform com/mojang/authlib/yggdrasil/YggdrasilUserAuthentication:<clinit> https://authserver.mojang.com/signout -> http://auth.lazercloud.com/signout 这是authlibagent的log
yushijinhun commented 8 years ago

有没有服务端log?如果是tomcat就是logs/localhost_access_log.XXXX.txt

yushijinhun commented 8 years ago

也可以手动curl请求一下,应该是服务端出错

ChenhaoShen commented 8 years ago

127.0.0.1 - - [13/Apr/2016:01:51:50 +0800] "GET / HTTP/1.1" 404 - 127.0.0.1 - - [13/Apr/2016:04:29:11 +0800] "-" 400 - 127.0.0.1 - - [13/Apr/2016:04:29:11 +0800] "-" 400 - 127.0.0.1 - - [13/Apr/2016:04:29:12 +0800] "-" 400 - 127.0.0.1 - - [13/Apr/2016:04:29:12 +0800] "-" 400 - 127.0.0.1 - - [13/Apr/2016:04:29:12 +0800] "-" 400 - 127.0.0.1 - - [13/Apr/2016:04:29:12 +0800] "-" 400 - 0:0:0:0:0:0:0:1 - - [13/Apr/2016:13:18:42 +0800] "GET /yggdrasil-backend-0.0.1-SNAPSHOT/ HTTP/1.1" 200 952 0:0:0:0:0:0:0:1 - - [13/Apr/2016:13:18:43 +0800] "GET /yggdrasil-backend-0.0.1-SNAPSHOT/yggdrasil-backend-0.0.1-SNAPSHOT//?stylesheet=1 HTTP/1.1" 404 47 0:0:0:0:0:0:0:1 - - [13/Apr/2016:13:18:46 +0800] "GET /yggdrasil-backend-0.0.1-SNAPSHOT/favicon.ico HTTP/1.1" 404 47 0:0:0:0:0:0:0:1 - - [13/Apr/2016:13:22:13 +0800] "GET /yggdrasil-backend-0.0.1-SNAPSHOT/api/accounts HTTP/1.1" 200 45 0:0:0:0:0:0:0:1 - - [13/Apr/2016:13:28:09 +0800] "POST /yggdrasil-backend-0.0.1-SNAPSHOT/authenticate HTTP/1.1" 404 47 127.0.0.1 - - [13/Apr/2016:13:28:20 +0800] "-" 400 - 0:0:0:0:0:0:0:1 - - [13/Apr/2016:13:32:54 +0800] "POST /yggdrasil-backend-0.0.1-SNAPSHOT/authenticate HTTP/1.1" 404 47 0:0:0:0:0:0:0:1 - - [13/Apr/2016:13:34:21 +0800] "POST /yggdrasil-backend-0.0.1-SNAPSHOT/authenticate HTTP/1.1" 404 47 0:0:0:0:0:0:0:1 - - [13/Apr/2016:13:35:54 +0800] "GET /yggdrasil-backend-0.0.1-SNAPSHOT/signout HTTP/1.1" 404 47 0:0:0:0:0:0:0:1 - - [13/Apr/2016:13:53:30 +0800] "GET /yggdrasil-backend-0.0.1-SNAPSHOT/api/accounts HTTP/1.1" 200 45 0:0:0:0:0:0:0:1 - - [13/Apr/2016:13:53:42 +0800] "GET /yggdrasil-backend-0.0.1-SNAPSHOT/signout HTTP/1.1" 404 47 0:0:0:0:0:0:0:1 - - [13/Apr/2016:13:54:08 +0800] "GET /yggdrasil-backend-0.0.1-SNAPSHOT/api/signout HTTP/1.1" 404 57 0:0:0:0:0:0:0:1 - - [13/Apr/2016:13:57:12 +0800] "GET /yggdrasil-backend-0.0.1-SNAPSHOT/api HTTP/1.1" 404 57 0:0:0:0:0:0:0:1 - - [13/Apr/2016:14:18:28 +0800] "GET /yggdrasil-backend-0.0.1-SNAPSHOT/api/accounts HTTP/1.1" 200 45 0:0:0:0:0:0:0:1 - - [13/Apr/2016:19:05:42 +0800] "GET /yggdrasil-backend-0.0.1-SNAPSHOT/profiles/minecraft/ HTTP/1.1" 404 47 0:0:0:0:0:0:0:1 - - [13/Apr/2016:19:05:43 +0800] "GET /yggdrasil-backend-0.0.1-SNAPSHOT/favicon.ico HTTP/1.1" 404 47 127.0.0.1 - - [13/Apr/2016:21:02:16 +0800] "GET / HTTP/1.1" 404 - 这就是tomcat的日志

ChenhaoShen commented 8 years ago

13-Apr-2016 13:18:43.517 WARNING [http-nio-8080-exec-2] org.apache.cxf.transport.servlet.ServletController.invoke Can't find the the request for http://auth.lazercloud.com/yggdrasil-backend-0.0.1-SNAPSHOT/yggdrasil-backend-0.0.1-SNAPSHOT//'s Observer 13-Apr-2016 13:18:46.647 WARNING [http-nio-8080-exec-3] org.apache.cxf.transport.servlet.ServletController.invoke Can't find the the request for http://auth.lazercloud.com/yggdrasil-backend-0.0.1-SNAPSHOT/favicon.ico's Observer 13-Apr-2016 13:28:09.445 WARNING [http-nio-8080-exec-5] org.apache.cxf.transport.servlet.ServletController.invoke Can't find the the request for http://auth.lazercloud.com/yggdrasil-backend-0.0.1-SNAPSHOT/authenticate's Observer 13-Apr-2016 13:32:54.687 WARNING [http-nio-8080-exec-7] org.apache.cxf.transport.servlet.ServletController.invoke Can't find the the request for http://auth.lazercloud.com/yggdrasil-backend-0.0.1-SNAPSHOT/authenticate's Observer 13-Apr-2016 13:34:21.638 WARNING [http-nio-8080-exec-8] org.apache.cxf.transport.servlet.ServletController.invoke Can't find the the request for http://auth.lazercloud.com/yggdrasil-backend-0.0.1-SNAPSHOT/authenticate's Observer 13-Apr-2016 13:35:54.024 WARNING [http-nio-8080-exec-9] org.apache.cxf.transport.servlet.ServletController.invoke Can't find the the request for http://auth.lazercloud.com/yggdrasil-backend-0.0.1-SNAPSHOT/signout's Observer 13-Apr-2016 13:53:42.262 WARNING [http-nio-8080-exec-1] org.apache.cxf.transport.servlet.ServletController.invoke Can't find the the request for http://auth.lazercloud.com/yggdrasil-backend-0.0.1-SNAPSHOT/signout's Observer 13-Apr-2016 13:54:08.585 WARNING [http-nio-8080-exec-2] org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest No root resource matching request path /yggdrasil-backend-0.0.1-SNAPSHOT/api/signout has been found, Relative Path: /signout. Please enable FINE/TRACE log level for more details. 13-Apr-2016 13:57:12.863 WARNING [http-nio-8080-exec-3] org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest No root resource matching request path /yggdrasil-backend-0.0.1-SNAPSHOT/api has been found, Relative Path: /. Please enable FINE/TRACE log level for more details. 13-Apr-2016 19:05:42.573 WARNING [http-nio-8080-exec-5] org.apache.cxf.transport.servlet.ServletController.invoke Can't find the the request for http://auth.lazercloud.com/yggdrasil-backend-0.0.1-SNAPSHOT/profiles/minecraft/'s Observer 13-Apr-2016 19:05:43.754 WARNING [http-nio-8080-exec-6] org.apache.cxf.transport.servlet.ServletController.invoke Can't find the the request for http://auth.lazercloud.com/yggdrasil-backend-0.0.1-SNAPSHOT/favicon.ico's Observer 这是catalina的日志

yushijinhun commented 8 years ago

这是因为你configure.sh里面API_ROOT错了,应该是 http://auth.lazercloud.com/yggdrasil/

另外,我刚刚试了下访问 http://auth.lazercloud.com/api 下面的。这个是内部用的api,对外开放很危险的,你可以看一下 wiki上的教程

推荐做法是把 http://auth.lazercloud.com/ 反代到 /yggdrasil 。 /api 在内部使用,不要对外网开放。而且强烈建议使用https,因为mc传密码是明文的。