8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/smart_app_launch/endpoints/mock_smart_server/smart_authorization_response_creation.rb', line 8
def make_smart_authorization_response
redirect_uri = request.params[:redirect_uri]
if redirect_uri.blank?
response.status = 400
response.body = {
error: 'Bad request',
message: 'Missing required redirect_uri parameter.'}.to_json
response.content_type = 'application/json'
return
end
client_id = request.params[:client_id]
state = request.params[:state]
exp_min = 10
token = MockSMARTServer.client_id_to_token(client_id, exp_min)
query_string = "code=#{ERB::Util.url_encode(token)}&state=#{ERB::Util.url_encode(state)}"
response.['Location'] = "#{redirect_uri}#{redirect_uri.include?('?') ? '&' : '?'}#{query_string}"
response.status = 302
end
|