5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'app/controllers/linkedin_openid_sign_in/callbacks_controller.rb', line 5
def show
flash_data = flash[:linkedin_sign_in].symbolize_keys
raise InvalidState.new("Invalid state") if params[:state].blank? || params[:state] != flash_data[:state]
data = if params[:error].present?
{
error: params[:error],
error_description: params[:error_description]
}
elsif token
json = JSON.parse(token)
decode_token(json['id_token']).merge(access_token: json['access_token'])
else
{
error: 'invalid_token',
error_description: 'Returned token is invalid'
}
end
redirect_to flash_data[:redirect_url], flash: { linkedin_sign_in: data.symbolize_keys }
end
|