def custom_build_access_token
access_token =
if request.xhr? && request.params['code']
verifier = request.params['code']
client.auth_code.get_token(verifier, get_token_options('postmessage'), deep_symbolize(options.auth_token_params || {}))
elsif request.params['code'] && request.params['redirect_uri']
verifier = request.params['code']
redirect_uri = request.params['redirect_uri']
client.auth_code.get_token(verifier, get_token_options(redirect_uri), deep_symbolize(options.auth_token_params || {}))
elsif verify_token(request.params['access_token'])
::OAuth2::AccessToken.from_hash(client, request.params.dup)
else
verifier = request.params["code"]
client.auth_code.get_token(verifier, get_token_options(callback_url), deep_symbolize(options.auth_token_params))
end
verify_hd(access_token)
access_token
end