본문 바로가기

Programming/Java_Spring60

MS OAuth를 통한 Calendar정보 연동하기. MS OAuth로그인을 하고, 해당 로그인 정보를 이용하여 Outlook에 등록한 일정 정보를 얻어올 수 있다. 찾느라 한동안 삽질했었어서... 까먹지 말자고 기록하기 위해 남김. 1. MS OAuth로그인 할 때, 권한 설정해주기. MS OAuth로그인을 하는건 좋은데, 해당앱을 통해 로그인 하면 어디까지 권한을 받을 수 있을까? 그냥 냅두면 얻을 수 있는 권한은 없다. (당연하지..) '앱등록' - '내가선택한앱' - 'API 사용권한'을 들어가자. 권한 추가를 누르면 아래와 같이 팝업이 발생한다. 나는 메일 읽고, 캘린더 연동할 것이므로.. Graph를 선택하고, 권한은 '위임된 권한'을 선택한다. 그러면 권한 목록이 주루룩~ 나온다. Calendar는 Calendars 그룹에 가서 선택해주면 된다.. 2022. 12. 7.
서블릿 실행 시, CannotFindMethod exception MS OAuth로그인을 구현하다가.. 이것저것 작업하는데.. 응? 실행하다가 method를 못찾는다고.. 갑자기 exception을 툭! 왜이러지? 하고 한참 찾았다.. 실제 메소드가 없는 경우도 있겠지.. 메소드 명 자체가 cannot find잖아? 근데 exception이 발생하는 곳은 내가 만든 클래스가 아니라는거지. 이럴 경우에는.. 한땀한땀.. 라이브러리 버전을 확인하자. 나같은 경우 jackson-core, jackson-annotation, jackson-databind 2022. 12. 6.
Java Spring에서 HttpServletRequest얻어오기. Java Code내에서 HttpServletRequest를 얻어와야 할 일이 있다. (나같은 경우에는 매크로처럼 돌리기 위해서.. -_-a) 이걸 위해서는 ServletRequestAttributes를 얻어와서 가져올 수 있다!! 근데 그걸 가져오기 위해서는? private HttpServletRequest getRequest(Object myAttribute){ HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); req.setAttribute("Attribute키", myAttribute); return req; } 위와 같이 RequestContex.. 2022. 11. 25.
XSS(Cross Site Script) Filter. 웹에서 텍스트를 입력받다보면 다음과 같이 입력 필드 (여기서는 설명이라고 적은)에 저렇게 script코드를 넣으면 스크립트 실행이 가능하다. 설명 : [ ] 이걸 막아야지.. 막기위해 가장 좋은 방법은.. &나 등의 특수 기호를 &, 등으로 치환하면 된다. 브라우저에서는 그 문자열들을 보고 기호로 다시 복원해주니까. 그러면 이러한 입력이 오는곳 모든 곳 마다 다 문자열 치환하는 코드를 구현한다면? 해결될거같긴 하다. 근데 엄청 비효율적이다. 유틸리티처럼 뽑아낸다 해도, 매번 입력받는 곳 마다 저걸 호출해야할테니까. 다행히, Spring에서는 Filter를 적용할 수 있다. Interceptor도 있지만 우선 URL이 호출되어 먼저 만나는 녀석이 Filter니까.. Filter를 하나 추가하여, 해.. 2022. 11. 9.
Microsoft Azure OAuth연동. OAuth로그인을 하면서, Microsoft azure로도 연동을 할 수 있다. 선행되어야 할 것은, azure에 계정이 있어야한다. 1. 앱 등록하기 MS Azure에 로그인 후, '앱 등록'을 눌러서 앱을 추가하고 어느 계정까지 연결해줄지는 아래 링크 참조. (MS의 페이지가 가장 최고지 뭐) https://learn.microsoft.com/ko-kr/azure/active-directory/develop/quickstart-register-app 2. 리디렉션 URI추가 1에서 앱을 등록한 이후, 앱의 세부 정보를 확인할 수 있는 페이지로 들어갈 수 있다. 세부 내용을 보는 페이지에 진입하여 좌측 메뉴 중 '인증'을 선택하여 플랫폼 구성화면으로 들어간다. 나의경우는 웹페이지였으므로, 메뉴 중, '.. 2022. 11. 2.
JSP에서 사용자 confirm받기 JSP페이지에서 사용자 confirm을 받을 일이 필요한 경우가 있다. 그래서 메시지박스를 하나 띄우고 해야할것 같은데.. JSP에서는 너무나 직관적으로 제공하고있다. 이름부터 confirm.. (최고다!) if( confirm('')){ //Yes인 경우 } else{ //No인 경우 } 만약 yes,no가 아닌 다른 text이거나 yes, no, cancel도 있을것 같다. (아니면 만들어쓰거나) 2022. 10. 26.
728x90