logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma

oauth_view.ex (796B)


  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Pleroma.Web.OAuth.OAuthView do
  5. use Pleroma.Web, :view
  6. import Phoenix.HTML.Form
  7. alias Pleroma.Web.OAuth.Token.Utils
  8. def render("token.json", %{token: token} = opts) do
  9. response = %{
  10. token_type: "Bearer",
  11. access_token: token.token,
  12. refresh_token: token.refresh_token,
  13. expires_in: expires_in(),
  14. scope: Enum.join(token.scopes, " "),
  15. created_at: Utils.format_created_at(token)
  16. }
  17. if user = opts[:user] do
  18. response
  19. |> Map.put(:me, user.ap_id)
  20. else
  21. response
  22. end
  23. end
  24. defp expires_in, do: Pleroma.Config.get([:oauth2, :token_expires_in], 600)
  25. end