Clean Code that Works.

private RedirectView handleSignIn(Connection connection, NativeWebRequest request) {
		List userIds = usersConnectionRepository.findUserIdsWithConnection(connection);
		if (userIds.size() == 0) {
			ProviderSignInAttempt signInAttempt = new ProviderSignInAttempt(connection, connectionFactoryLocator, usersConnectionRepository);
			request.setAttribute(ProviderSignInAttempt.SESSION_ATTRIBUTE, signInAttempt, RequestAttributes.SCOPE_SESSION);
			return redirect(signUpUrl);
		} else if (userIds.size() == 1) {
			usersConnectionRepository.createConnectionRepository(userIds.get(0)).updateConnection(connection);
			String originalUrl = signInAdapter.signIn(userIds.get(0), connection, request);
			return originalUrl != null ? redirect(originalUrl) : redirect(postSignInUrl);
		} else {
			return redirect(URIBuilder.fromUri(signInUrl).queryParam("error", "multiple_users").build().toString());
		}
	}

저기 보면 사용자 아이디를 조회 하는데 userConnectionRepository를 사용하는데, 구현체로 제공하는게 JdbcUsersConnectionRepository 이다.
neo4j를 사용하고 있는중이라 당연히!! 사용할 수가 없어서 간단하게 findUserIdsWithConnection 만 구현하는 Neo4jUsersConnectionRepository 만들어서 사용.