class OmniAuth::Strategies::Dingtalk

Public Instance Methods

request_phase() click to toggle source
# File lib/omniauth/strategies/dingtalk.rb, line 39
def request_phase
  params = client.auth_code.authorize_params.merge(redirect_uri: callback_url).merge(authorize_params)
  params['appid'] = params.delete('client_id')
  redirect client.authorize_url(params)
end

Protected Instance Methods

build_access_token() click to toggle source
# File lib/omniauth/strategies/dingtalk.rb, line 55
def build_access_token
  verifier = request.params['code']
  access_token_options = { redirect_uri: callback_url }.merge(token_params.to_hash(symbolize_keys: true))
  client.auth_code.get_token(verifier, access_token_options, deep_symbolize(options.auth_token_params))
end
client() click to toggle source
# File lib/omniauth/strategies/dingtalk.rb, line 47
def client
  ::OmniAuth::Dingtalk::Client.get(options.client_type).new(
    options.client_id,
    options.client_secret,
    deep_symbolize(options.client_options)
  )
end
user_info() click to toggle source
# File lib/omniauth/strategies/dingtalk.rb, line 61
def user_info
  @user_info ||= client.get_user_info(code: request.params['code'], access_token: access_token.token)
end