kitsune-soc / kitsune

🦊 (fast) ActivityPub-federated microblogging

Home Page:https://joinkitsune.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error when using Forgejo as OIDC provider

LordMZTE opened this issue · comments

When using Forgejo as an OIDC provider, Kitsune will return a HTTP 500 after confirming the login in Forgejo.

If the cache.type option is set to in-memory, this error will be in the logs:

ERROR kitsune::error: Error occurred in handler error=Core(Api(RegistrationsClosed))
ERROR tower_http::trace::on_failure: response failed classification=Status code: 500 Internal Server Error latency=105 ms

with the options set to redis, this error will be emitted instead:

2023-10-29T14:54:50.076863Z  INFO log: NOTICE: relation "__diesel_schema_migrations" already exists, skipping
2023-10-29T14:55:01.434253Z ERROR kitsune::error: Error occurred in handler error=Oidc(LoginState(SimdJson(Error { index: 0, character: None, error: Serde("UUID parsing failed: UUIDError") })))

The first error should be closed by #400

I'll try to reproduce and fix the second one with #399

I have a weird sneaking suspicion here..

The main difference between redis and in-memory caching is that we are de-/serializing redis entries from/into JSON..

And this seems like a UUID parsing Error. This could potentially be an issue caused by faulty de-/serialization logic? Maybe?

I haven't tested it yet, but that's just a hunch I just had