9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'app/controllers/standard_id/api/oauth/callback/providers_controller.rb', line 9
def callback
provider_response = get_user_info_from_provider(flow: resolve_flow_for(provider.provider_name))
social_info = provider_response[:user_info]
provider_tokens = provider_response[:tokens]
account = find_or_create_account_from_social(social_info)
flow = StandardId::Oauth::SocialFlow.new(
params,
request,
account:,
connection: provider.provider_name,
scopes: params[:scope] || params[:scopes]
)
token_response = flow.execute
run_social_callback(
provider: provider.provider_name,
social_info:,
provider_tokens:,
account:,
)
render json: token_response, status: :ok
end
|