Packages
boruta
3.0.0-beta.1
3.0.0-beta.4
3.0.0-beta.3
3.0.0-beta.2
3.0.0-beta.1
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.3.0
2.2.2
2.2.1
2.2.0
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.1
2.0.0
2.0.0-rc.1
2.0.0-rc.0
1.2.1
1.2.0
1.1.0
1.0.3
1.0.2
1.0.1
1.0.0
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.2.1
0.2.0
0.1.1
0.1.0
0.1.0-rc.5
0.1.0-rc.4
0.1.0-rc.3
0.1.0-rc.2
0.1.0-rc.1
Core of an OAuth/OpenID Connect provider enabling authorization in your applications.
Current section
Files
Jump to
Current section
Files
lib/boruta/oauth/responses/pushed_authorization.ex
defmodule Boruta.Oauth.PushedAuthorizationResponse do
@moduledoc """
Response returned in case of pushed authorization request success. Provides utilities and mandatory data needed to respond to the pushed authorize part of implicit, code and hybrid flows.
"""
alias Boruta.Oauth.AuthorizationRequest
@enforce_keys [:request_uri, :expires_in]
defstruct request_uri: nil,
expires_in: nil
@type t :: %__MODULE__{
request_uri: String.t(),
expires_in: integer()
}
@spec from_request(request :: AuthorizationRequest.t()) :: t()
def from_request(%AuthorizationRequest{id: request_id, expires_at: expires_at}) do
request_uri = "urn:ietf:params:oauth:request_uri:#{request_id}"
expires_in = expires_at - :os.system_time(:seconds)
%__MODULE__{
request_uri: request_uri,
expires_in: expires_in
}
end
end