android-project-46group / api-server

MIT License
2 stars 0 forks source link

メンバーの API など、ステータスコードが 200 で返ってきてしまっている #34

Closed kokoichi206 closed 1 year ago

kokoichi206 commented 2 years ago

https://github.com/android-project-46group/android/issues/84#issuecomment-1322982647

cgi で配信しているサーバーがおかしそうなので調べる (そもそも cgi をやめようっていう話はある)

kokoichi206 commented 2 years ago

gn, key のパラメーターが間違ってる時、どちらのケースも 200 で返ってきている。

parameter がない時の挙動は異なる、これはなんで?

gn がない時: 404
key がない時: 200

最初は w.WriteHeader(http.StatusForbidden) が働いてないだけかとも思ったけど。。。

localhost で確認した時は、きちんと 403 になってそう(key が間違っている時)。

Screenshot 2022-11-22 at 12 48 22
kokoichi206 commented 2 years ago

cgi 時の確認

ログを標準出力に書いていたが、どうやらそれがよくなさそう。   (コンテナに載せるイメージで標準出力にログを書いたが、それがよくなかった)

ヘッダーに getAllFormations: access to invalid group nameStatus: 400 Bad Request ?笑

Screenshot 2022-11-22 at 13 06 29

問題の箇所のコード

if !server.isApiKeyValid(key) {
        // これが邪魔
    fmt.Printf("getAllMembers: access with invalid api key")
    // return error message
    w.WriteHeader(http.StatusForbidden)
    fmt.Fprint(w, ErrorJson("No valid api key"))
    return
}
kokoichi206 commented 2 years ago

Android 側の問題も解決することがわかった。

https://github.com/android-project-46group/android/issues/84#issuecomment-1322982647