소셜 계정을 사용하여 사용자가 애플리케이션에 로그인하도록 허용 할 수 있습니까?소셜 계정 별 봄 로그인
내 생각에 로그인 한 사용자가 소셜 계정에 자신의 계정을 연결할 수 있다고 생각합니다. 응용 프로그램에 등록되지 않은 사용자가 있고 응용 프로그램에 로그인 할 수있게하려면 connectionRepository를 만들면 불가능합니다. 우리는 userid를 전달해야합니다.
소셜 계정을 사용하여 사용자가 애플리케이션에 로그인하도록 허용 할 수 있습니까?소셜 계정 별 봄 로그인
내 생각에 로그인 한 사용자가 소셜 계정에 자신의 계정을 연결할 수 있다고 생각합니다. 응용 프로그램에 등록되지 않은 사용자가 있고 응용 프로그램에 로그인 할 수있게하려면 connectionRepository를 만들면 불가능합니다. 우리는 userid를 전달해야합니다.
는 당신이 필요로하는 것은 정의하는 것입니다
사용자 저장소가 DB에서 사용자 테이블에 읽기/쓰기 예를 들어 스프링 데이터 JPA 저장소입니다@Bean(name="connectionFactoryLocator")
public ConnectionFactoryLocator connectionFactoryLocator() {
ConnectionFactoryRegistry registry = new ConnectionFactoryRegistry();
registry.addConnectionFactory(new FacebookConnectionFactory(facebookId,facebookSecret));
return registry;
}
@Bean
public UsersConnectionRepository socialConnectionRepository() {
return new SocialConnectionRepository(dataSource, userRepository, connectionFactoryLocator());
}
.
그런 다음 당신은에 의해 그것으로 사용자 이름/암호를 게시 할에 대한 경로를
@Bean
public ProviderSignInController providerSignInController() {
ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator(), socialConnectionRepository(),
new SimpleSignInAdapter());
providerSignInController.setSignInUrl("/");
providerSignInController.setSignUpUrl("/");
return providerSignInController;
}
보고 (당신이 기본의 conf를 사용하는 경우 빈으로 정의 할 필요가 없습니다) 스프링 사회가 제공하는 컨트롤러를 (사용할 수 있습니다
private class SimpleSignInAdapter implements SignInAdapter {
public String signIn(String userId, Connection<?> connection, NativeWebRequest request) {
...
}
}
감사합니다. 시도해 보겠습니다. –
나는 signIn 내부의 중단 점을 시도했으나 작동하지 않는 것 같다. 흐름이 올바르지 않다. –
signinadapter를 추가했지만 서명 방법이 불려지지 않는다. 문제를 찾는 데 도움을 줄 수 있습니까? –
HTTP : //docs.spr 당신이 봄 보안에 의해 사용자가 로그인하거나 다음 FB는 어댑터를 정의 할 필요가에서 정보 뭔가 특별한 일을 할 필요가있는 경우 그/로그인 절차/페이스 북)
기본 ing.io/spring-social/docs/1.0.x/reference/html/signin.html – sp00m