Method: Authkeeper::Providers::Github#call

Defined in:
app/services/authkeeper/providers/github.rb

#call(params: {}) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/services/authkeeper/providers/github.rb', line 11

def call(params: {})
  access_token = fetch_access_token(params[:code])
  return { errors: ['Invalid code'] } unless access_token

  user = (access_token)
  email = fetch_user_emails(access_token, user)

  {
    result: {
      uid: user['id'].to_s,
      provider: 'github',
      login: user['login'],
      email: email
    }
  }
end