diff options
author | Mark Felder <feld@FreeBSD.org> | 2019-06-03 09:12:17 -0500 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2019-06-03 09:12:17 -0500 |
commit | f4e2595592ccca6cedd64669baef7bdd2a6547d0 (patch) | |
tree | 6806a79345c7599b0d436df8b6c46e75b54d1292 /lib/pleroma/web/oauth/token/response.ex | |
parent | 3c4cab9be18ff543d025177b418ddd0b16050e68 (diff) | |
parent | 9789e000b05621435dc0c03833f564481e0b80e6 (diff) | |
download | pleroma-f4e2595592ccca6cedd64669baef7bdd2a6547d0.tar.gz |
Merge branch 'develop' into update-oauth-template
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 |