diff options
author | Roman Chvanikov <chvanikoff@gmail.com> | 2019-05-29 18:18:22 +0300 |
---|---|---|
committer | Roman Chvanikov <chvanikoff@gmail.com> | 2019-05-29 18:18:22 +0300 |
commit | ce47017c8927b8b2d31668d5e32e387d80739502 (patch) | |
tree | be77acd4dc0c6b9d7b6cb8515470e1dae3212aa7 /lib/pleroma/web/oauth/token/response.ex | |
parent | f1f7a11222f4689f000825147d16b366d915f393 (diff) | |
parent | 57e58d26029388a5831cd2ac3fbc419c27c4d7c6 (diff) | |
download | pleroma-ce47017c8927b8b2d31668d5e32e387d80739502.tar.gz |
Merge develop
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 |