diff options
author | Maksim <parallel588@gmail.com> | 2019-05-14 14:49:45 +0000 |
---|---|---|
committer | lambda <lain@soykaf.club> | 2019-05-14 14:49:45 +0000 |
commit | 52297920e74ad7f51bcd3b118522e5e3a8e1c794 (patch) | |
tree | 4d739385f3fb941c9b500fc907ea64a780059453 /lib/pleroma/web/oauth/token/response.ex | |
parent | 4e69d1239afdf97fe84a1772faa242b8e362b369 (diff) | |
download | pleroma-52297920e74ad7f51bcd3b118522e5e3a8e1c794.tar.gz |
Refactoring oauth response.
Diffstat (limited to 'lib/pleroma/web/oauth/token/response.ex')
-rw-r--r-- | lib/pleroma/web/oauth/token/response.ex | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/pleroma/web/oauth/token/response.ex b/lib/pleroma/web/oauth/token/response.ex new file mode 100644 index 000000000..64e78b183 --- /dev/null +++ b/lib/pleroma/web/oauth/token/response.ex @@ -0,0 +1,32 @@ +defmodule Pleroma.Web.OAuth.Token.Response do + @moduledoc false + + alias Pleroma.User + alias Pleroma.Web.OAuth.Token.Utils + + @expires_in Pleroma.Config.get([:oauth2, :token_expires_in], 600) + + @doc false + def build(%User{} = user, token, opts \\ %{}) do + %{ + token_type: "Bearer", + access_token: token.token, + refresh_token: token.refresh_token, + expires_in: @expires_in, + scope: Enum.join(token.scopes, " "), + me: user.ap_id + } + |> Map.merge(opts) + end + + def build_for_client_credentials(token) do + %{ + token_type: "Bearer", + access_token: token.token, + refresh_token: token.refresh_token, + created_at: Utils.format_created_at(token), + expires_in: @expires_in, + scope: Enum.join(token.scopes, " ") + } + end +end |