function callback(\Base $f3, $params) {
		$Opauth = new \Opauth($this->config,false);
		switch ($Opauth->env['callback_transport']) {
			case 'session':
				$response = $f3->get('SESSION.opauth');
				$f3->clear('SESSION.opauth');
				break;
			case 'post':
				$response = unserialize(base64_decode($f3->get('POST.opauth')));
				break;
			case 'get':
				$response = unserialize(base64_decode($f3->get('GET.opauth')));
				break;
			default:
				$f3->error(400,'Unsupported callback_transport');
				break;
		}
		if (isset($response['error'])) {
			$f3->call($this->abortFunc,array($response));
			return;
		}
		$data = $response['auth'];
		// validate
		if (empty($data) || empty($response['timestamp']) || empty($response['signature'])
			|| empty($data['provider']) || empty($data['uid']))
			$f3->error(400,'Invalid auth response: Missing key auth response components');
		elseif (!$Opauth->validate(sha1(print_r($data, true)),
			$response['timestamp'], $response['signature'], $reason))
			$f3->error(400,'Invalid auth response: '.$reason);
		else
			// It's all good
			$f3->call($this->successFunc,array($data));
	}