Problem with OAuth2 after updating
Hello. I updated my pleroma instance and my custom OAuth2 consumer strategy stopped working. Now when I press "Sign in with OAuth" on the pleroma's authorization screen, I do get redirected to the OAuth2 server and can authorize, but when it redirects me back, I'm greeted with a white screen and the following in the console:
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: 14:51:47.496 request_id=FjSkMzIVgZtY_FAAABEh [error] Internal server error: %OAuth2.Error{reason: {:options, {:sslv3, {:versions, [:"tlsv1.2", :"tlsv1.1", :tlsv1, :sslv3]}}}}
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: 14:51:47.496 request_id=FjSkMzIVgZtY_FAAABEh [info] Converted error OAuth2.Error to 500 response
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: 14:51:47.500 [error] #PID<0.1911.0> running Pleroma.Web.Endpoint (connection #PID<0.1910.0>, stream id 1) terminated
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: Server: social.icynet.eu:80 (http)
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: Request: GET /oauth/icynet/callback?code=xxxxxxxxxxxxxxxxxxxxxxxx&state=%7B%22client_id%22%3A%xxxxxxxxxxxxxxxxxx%22%2C%22redirect_uri%22%3A%22.%22%2C%22scope%22%3A%22read%20write%20follow%20push%20admin%22%2C%22state%22%3A%22%22%7D
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: ** (exit) an exception was raised:
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: ** (Protocol.UndefinedError) protocol Phoenix.HTML.Safe not implemented for %{errors: %{detail: "Internal server error"}} of type Map. This protocol is implemented for the following type(s): Decimal, Atom, Date, Tuple, Phoenix.HTML.Form, Float, NaiveDateTime, List, Integer, BitString, Time, DateTime
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: (phoenix_html 2.14.2) lib/phoenix_html/safe.ex:1: Phoenix.HTML.Safe.impl_for!/1
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: (phoenix_html 2.14.2) lib/phoenix_html/safe.ex:15: Phoenix.HTML.Safe.to_iodata/1
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: (phoenix 1.4.17) lib/phoenix/controller.ex:776: Phoenix.Controller.__put_render__/5
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: (phoenix 1.4.17) lib/phoenix/endpoint/render_errors.ex:77: Phoenix.Endpoint.RenderErrors.instrument_render_and_send/5
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: (phoenix 1.4.17) lib/phoenix/endpoint/render_errors.ex:62: Phoenix.Endpoint.RenderErrors.__catch__/5
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: (phoenix 1.4.17) lib/phoenix/endpoint/cowboy2_handler.ex:42: Phoenix.Endpoint.Cowboy2Handler.init/4
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: (cowboy 2.8.0) /opt/pleroma/deps/cowboy/src/cowboy_handler.erl:37: :cowboy_handler.execute/2
Sep 14 14:51:47 home.lunasqu.ee elixir[1742636]: (cowboy 2.8.0) /opt/pleroma/deps/cowboy/src/cowboy_stream_h.erl:300: :cowboy_stream_h.execute/3
The OAuth server never sees a token request. The problem is most likely with the module that I wrote, I am not an elixir programmer and I used ueberauth_github as a base for this. Then again, it worked fine before I updated pleroma.
I cannot recall what the last version was, but I do know that I set it up back in June and didn't update it since. Migrations and dependency fetching went without errors.