spring security, oauth2, form login, jwt를 활용한 인증 샘플

2016-06-22 17:01

안전한 API 서버를 구축하는 작업은 쉽지 않다. 지금까지 찾은 가장 좋은 방법은 oauth2를 쓰면서 access token을 jwt로 관리하는 것이 그나마 가장 안전한 것으로 판단된다.

The Ultimate Guide to Mobile API Security - Stormpath 문서를 보면 모바일 API 서버 인증에 대한 전략을 소개하고 있다.

처음에 접근하기 힘들 수 있는데 관련 문서 찾아보다보니 약간씩 힌트를 얻을 수 있겠다. 이와 관련한 지금까지 찾은 가장 좋은 예제는 https://github.com/dynamind/spring-boot-security-oauth2-minimal이다.

Spring Boot and OAuth2 문서도 Spring Boot 기반으로 OAuth2 설정을 익히는데 많은 도움을 받을 수 있다.

2개의 의견 from SLiPP

2017-11-14 15:18

좋은 글 감사합니다. 예제도 주석이 달려있어서 이해가 빨리 되더군요.

저도 꽤 많이 찾아봐서 도움이 되는 링크들 남깁니다.

spring 공식문서인데 간결하게 핵심이 되는 내용들만 잘 정리해 놓았습니다.
http://projects.spring.io/spring-security-oauth/docs/oauth2.html

spring 공식 예제로는 DaveSyer 님의 spring-security-and-angular-js 예제가 좋긴 하지만 oauth2에 대해서 기초가 부족한 상태에서 보기엔 조금 힘들더군요.
spring-security-and-angular-js/

조금 간결한 예제로는 이것도 좋습니다.
Oauth2-Stateless-Authentication-with-Spring-and-JWT-Token

상향식으로 기초부터 차근차근 가시려는 분들은 RFC 문서를 한번 보는것도 추천드립니다. 참고로 section 4 가 grant flow 에 대해서 정말 상세히 설명해주고 있습니다.
rfc6749

native application 과 같은 경우에도 상당히 곤란한데 이 경우에는 RFC6749 section9 을 한번 보시고 두번째 링크인 rfc8252 를 한번 보시는 걸 추천드립니다. 이번 년도 10월에 나온 RFC8252 에서는 native application 에서의 OAuth2 구현 방법과 예제까지 상세히 알려줍니다.
rfc6749#section-9 rfc8252#appendix-B

의견 추가하기