====== 사용자지원 - Facebook 연동 ====== ===== 개요 ===== **Facebook 연동**은 시스템에서 facebook에 담벼락, 앨범, 프로필 조회 등의 기본 기능을 제공한다. ===== 설명 ===== * **Facebook 연동**는 facebook에 대한 기능을 사용하기 위한 목적으로 담벼락, 앨범, 프로필 조회 등의 기본 기능을 수반한다. ① SignIn : Facebook을 연결하기 위한 연동을 한다. ② Feed : 담벼락에 글을 읽어온다. ③ Albums : Facebook에 게시된 앨범을 읽어온다. ④ Profile : Facebook에 자신의 프로필을 읽어온다. ⑤ Sign Out : Facebook의 연결을 해제한다. === 관련소스 === ^유형^대상소스명^비고^ |Controller|egovframework.com.uss.ion.fbk.web.EgovFacebookController.java|Facebook 연동을 위한 컨트롤러 클래스| |Controller|egovframework.com.uss.ion.fbk.web.FacebookSimpleSignInAdapter.java|Facebook 연동을 위한 로그인 클래스| |Controller|egovframework.com.uss.ion.fbk.web.FacebookUserCookieGenerator.java|Facebook 연동을 위한 Cookie관리 클래스| |Controller|egovframework.com.uss.ion.fbk.web.FacebookUserInterceptor.java|Facebook 연결을 확인하는 인터셉터 클래스| |Service|egovframework.com.uss.ion.fbk.service.EgovFacebookConfig.java|Facebook을 연동을 위한 JavaConfig| |Service|egovframework.com.uss.ion.fbk.service.FacebookSecurityContext.java|연차 관리를 위한 서비스 인터페이스| |ServiceImpl|egovframework.com.uss.ion.fbk.service.impl.EgovSimpleConnectionSignUp.java|연차 관리를 위한 서비스 구현 클래스| |VO|egovframework.com.uss.ion.fbk.service.FacebookUser.java|Facebook userVO 클래스| |JSP|WEB-INF/jsp/egovframework/com/uss/ion/fbk/EgovFacebookAlbum.jsp|Facebook 선택한 앨범을 보여주는 페이지| |JSP|WEB-INF/jsp/egovframework/com/uss/ion/fbk/EgovFacebookAlbums.jsp|Facebook 앨범 목록을 보여주는 페이지| |JSP|WEB-INF/jsp/egovframework/com/uss/ion/fbk/EgovFacebookFeed.jsp|Facebook 담벼락 메시지를 보여주고 입력하는 페이지| |JSP|WEB-INF/jsp/egovframework/com/uss/ion/fbk/EgovFacebookHome.jsp|Facebook 연동을 위한 링크페이지| |JSP|WEB-INF/jsp/egovframework/com/uss/ion/fbk/EgovFacebookProfile.jsp|Facebook 프로필을 조회하는 페이지| |JSP|WEB-INF/jsp/egovframework/com/uss/ion/fbk/EgovFacebookSignin.jsp|Facebook 연동을 위한 페이지| |Message properties|/resources/egovframework/message/com/uss/ion/fbk/message_en.properties|페이스북 연동을 위한 Message properties(한글)| |Message properties|/resources/egovframework/message/com/uss/ion/fbk/message_ko.properties|페이스북 연동을 위한 Message properties(영문)| === 관련테이블 === ^테이블명^테이블명(영문)^비고^ |Facebook연동정보관리|UserConnection|Facebook 연동정보를 관리| ※ context-social.xml 에서 H2로 Embedded-database로 생성함 ===== 관련설정 ===== === Facebook 개발자 사이트 등록 === https://developers.facebook.com/ 사이트에 등록하여 appId, appSecret 발급\\ {{:egovframework:com:v3.9:uss:ion:fbk:facebook.jpg?800|}} === globals.properties 설정 === # Social(Facebook, Oauth 컴포넌트 사용시 활용) facebook.appId = facebook.appSecret = === Maven 설정 === org.springframework.social spring-social-facebook 2.0.3.RELEASE spring-web org.springframework spring-webmvc org.springframework org.apache.httpcomponents httpclient 4.3.4 commons-logging commons-logging com.h2database h2 1.4.180 === context-social.xml 설정 === === egov-com-social.xml 설정 === === EgovWebApplicationInitializer.java 설정 === //------------------------------------------------------------- // HiddenHttpMethodFilter 설정 (Facebook OAuth 사용시 설정) //------------------------------------------------------------- FilterRegistration.Dynamic hiddenHttpMethodFilter = servletContext.addFilter("hiddenHttpMethodFilter", new HiddenHttpMethodFilter()); hiddenHttpMethodFilter.addMappingForUrlPatterns(null, false, "/*"); ===== 관련화면 및 수행메뉴얼 ===== === Facebook 로그인 === ^Action^URL^Controller method^ |로그인|/uss/ion/fbk/facebookSignin.do|없음(mvc:view-controller 대체)| {{:egovframework:com:v2:uss:facebooksign.jpg|}}\\ 로그인 : Facebook 사용을 위해 로그인을 한다. ---- === Facebook 목록 === ^Action^URL^Controller method^ |목록|/uss/ion/fbk/facebook.do|home| {{:egovframework:com:v3.9:uss:ion:fbk:facebooklist.jpg?800}}\\ Feed : Facebook 담벼락 목록 조회를 한다.\\ Albums : Facebook에 등록한 앨범을 조회한다.\\ Profile : Facebook에 프로필을 조회한다.\\ Sign Out : Facebook 연동정보 삭제 ---- === Facebook feed === ^Action^URL^Controller method^ |조회|/uss/ion/fbk/feed.do|showFeed| |등록|/uss/ion/fbk/feed.do|postUpdate| RequestMethod별로 메소드가 구분된다.\\ {{:egovframework:com:v3.9:uss:ion:fbk:facebookfeed.jpg?800|}} \\ post: 입력한 글을 게시판다.\\ ---- === Facebook album === ^Action^URL^Controller method^ |조회|/uss/ion/fbk/albums.do|showAlbums| |상세조회|/uss/ion/fbk/album/{albumId}|showAlbum| {{:egovframework:com:v3.9:uss:ion:fbk:facebookalbum.jpg?600|}} \\ ---- === Facebook profile === ^Action^URL^Controller method^ |조회|/uss/ion/fbk/profile.do|profile| ---- === Facebook sign out === ^Action^URL^Controller method^ |로그아웃|/uss/ion/fbk/profile.do|없음(mvc:view-controller 대체)|