spring security oauth 예제

@RestController 및 @RequestMapping java.security.Principal을 처리기 메서드에 삽입합니다. 조금 더 많은 것을 위해 올바른 조직에 없는 사용자를 거부하도록 인증 규칙을 확장합니다. Github API를 사용하여 사용자에 대한 자세한 내용을 알아내기 쉽기 때문에 인증 프로세스의 오른쪽 부분에 연결하기만 하면 됩니다. 다행히도 이러한 간단한 사용 사례의 경우 Spring Boot는 쉬운 확장 지점을 제공했습니다 @Bean. 이 후크를 사용하여 사용자가 올바른 orignization에 있음을 어설션하고 예외를 throw할 수 있습니다. 이 줄은 build.gradle 파일에 org.thymeleaf.extras:백리향 엑스트라-springsecurity5 종속성이 필요한 이유입니다. 간단한 : 그냥 홈 페이지와 스프링 부팅의 @EnableOAuth2Sso 통해 무조건 로그인과 매우 기본적인 정적 응용 프로그램 (당신이 홈 페이지를 방문하는 경우 자동으로 페이스 북으로 리디렉션됩니다). 이 블로그 게시물에서는 봄과 함께 OAuth2 인증을 보여 주었어요. 액세스 권한은 사용자와 권한 기관 간의 직접 연결을 설정하여 간단하게 정의되었습니다. 이 예제를 향상시키기 위해 액세스 권한의 구조를 개선하기 위해 역할과 같은 추가 엔터티를 추가할 수 있습니다. 이봐, 가우라브, 1.

작업 예제에 대 한 내 등록 자습서를 살펴-하지만 매우 신속 하 게, 당신은 단순히 당신의 자신의 UserDetailsService 2를 사용 하 여 것. 그건 복잡 한 문제, 그래서 난 그것의 모든에 얻을 하지 않습니다., 하지만 당신은 당신의 JS 원산지에 걸쳐 API를 소비 할 수 있도록 봄에 CORS 지원을 조사 해야 하 고 물론 당신은 또한 당신의 프런트 엔드 는 올바른 URL에 포인트 있는지 확인 해야 어디 API 배포됩니다. 도움이 되기를 바랍니다. 환호, 오이겐. 안녕하세요, 저는 봄 보안 및 OAuth2 초보자입니다. 프로젝트를 다운로드하고 로컬에서 실행합니다. 그러나 응용 프로그램의 제어 흐름을 이해할 수 없습니다. 나를 위해 THR은 UI `http://localhost:8082/ui/`에 로그인을 클릭 할 때 더 로그인 페이지가 없습니다. Longin 버튼을 클릭하면 오류 페이지가 나타납니다. 우리는 아주 작은 노력으로 스타일의 숫자에서 응용 프로그램을 구축하는 스프링 부팅 및 봄 보안을 사용하는 방법을 보았다. 모든 샘플을 통해 실행되는 주요 테마는 외부 OAuth2 공급자를 사용하여 “소셜”로그인입니다.

최종 샘플은 외부 공급자가 가지고 있는 것과 동일한 기본 기능을 가지고 있기 때문에 이러한 서비스를 “내부적으로” 제공하는 데 사용될 수도 있습니다. 모든 샘플 앱은 구성 파일 변경만 으로도 보다 구체적인 사용 사례에 맞게 쉽게 확장하고 다시 구성할 수 있습니다. 자신의 서버에서 샘플 버전을 사용하여 Facebook 또는 Github(또는 이와 유사한)에 등록하고 호스트 주소에 대한 클라이언트 자격 증명을 받는 경우 기억하십시오. 그리고 소스 제어에 해당 자격 증명을 넣지 않도록 하십시오! 방금 작성한 OAuth2 용어로 작성한 앱은 클라이언트 응용 프로그램이며 권한 부여 코드 부여를 사용하여 Facebook(권한 부여 서버)에서 액세스 토큰을 얻습니다. 그런 다음 액세스 토큰을 사용하여 로그인 ID와 이름을 포함하여 Facebook에 몇 가지 개인 정보(허용한 내용만)를 요청합니다. 이 단계에서 페이스 북은 리소스 서버 역할을하며, 보내는 토큰을 디코딩하고 확인하면 앱이 사용자의 세부 정보에 액세스 할 수있는 권한을 부여합니다.