diff options
author | Egor Kislitsyn <egor@kislitsyn.com> | 2019-05-15 14:31:24 +0700 |
---|---|---|
committer | Egor Kislitsyn <egor@kislitsyn.com> | 2019-05-15 14:31:24 +0700 |
commit | a7a8f3bc2c3bb748f060812751a88873401354dd (patch) | |
tree | 44ec21d281a4dcbf2edfd716dcc4a5d0d9871beb /lib/pleroma/web/oauth/token/response.ex | |
parent | fc9b4410c4182747fbcbc2cbe2b94090c887b96f (diff) | |
parent | c133c32ef07077daaf581a4f890939b38c1d7feb (diff) | |
download | pleroma-a7a8f3bc2c3bb748f060812751a88873401354dd.tar.gz |
Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists
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 |