====== 사용자지원 - Facebook 연동 ======
===== 개요 =====
**Facebook 연동**은 시스템에서 facebook에 담벼락, 앨범, 프로필 조회 등의 기본 기능을 제공한다. 1
===== 설명 =====
* **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 연동을 위한 페이지|
=== 관련테이블 ===
^테이블명^테이블명(영문)^비고^
|Facebook연동정보관리|UserConnection|Facebook 연동정보를 관리|
※ context-social.xml 에서 H2로 Embedded-database로 생성함
===== 관련설정 =====
=== Facebook 개발자 사이트 등록 ===
https://developers.facebook.com/ 사이트에 등록하여 appId, appSecret 발급\\
{{:egovframework:com:v2:uss:facebookreg.jpg?600x400|}}
=== globals.properties 설정 ===
# Social(Facebook, Oauth 컴포넌트 사용시 활용)
facebook.appId =
facebook.appSecret =
=== Maven 설정 ===
org.springframework.social
spring-social-security
1.1.0.RELEASE
spring-security-web
org.springframework.security
org.apache.httpcomponents
httpclient
4.3.4
commons-logging
commons-logging
com.h2database
h2
1.4.180
=== context-social.xml 설정 ===
=== egov-com-social.xml 설정 ===
=== web.xml 설정 ===
hiddenHttpMethodFilter
org.springframework.web.filter.HiddenHttpMethodFilter
hiddenHttpMethodFilter
/*
action
/
===== 관련화면 및 수행메뉴얼 =====
=== 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:v2:uss:facebooklist.jpg|}}\\
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:v2:uss:facebookfeed.png?400x300|}} {{:egovframework:com:v2:uss:facebookfeed2.png?400x300|}} \\
post: 입력한 글을 게시판다.\\
----
=== Facebook album ===
^Action^URL^Controller method^
|조회|/uss/ion/fbk/albums.do|showAlbums|
|상세조회|/uss/ion/fbk/album/{albumId}|showAlbum|
----
=== 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 대체)|