====== 사용자지원 - 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.8: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.8: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.8: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.8: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 대체)|