protected function create_user(array $user)
	{
		$user_id = \Auth::create_user(

			// username
			isset($user['nickname']) ? $user['nickname'] : null,

			// password (random string will do if none provided)
			isset($user['password']) ? $user['password'] : \Str::random(),

			// email address
			isset($user['email']) ? $user['email'] : null,

			// which group are they in?
			\Config::get('opauth.default_group', -1),

			// extra information
			array(

				// got their name? full name? or first and last to make up a full name?
				'fullname' => isset($user['name']) ? $user['name'] : (
					isset($user['full_name']) ? $user['full_name'] : (
						isset($user['first_name'], $user['last_name']) ? $user['first_name'].' '.$user['last_name'] : null
					)
				),
			)
		);

		return $user_id ?: false;
	}